2017-05-22 26 views
1

让我知道是否需要提供更多或不同的信息。如果没有必要,我不想添加太多。W Re Recaptcha Localhost - SSL:CERTIFICATE_VERIFY_FAILED

我试图将W rec recaptcha纳入联系我的形式。我可以做谷歌验证码就好了,但一旦我提交,我遇到了一个错误。我目前遇到这个错误:SSL:CERTIFICATE_VERIFY_FAILED,你可以在这里看到https://pastebin.com/4WaqX1xT 在我目前的设置中,我使用的是./ngrok 8000。我的鹡鸰应用程序运行在localhost:8000

这些都是域我有谷歌的reCAPTCHA管理面板上

localhost 
whateverlettersgeneratedby.ngrok.io 
127.0.0.1 

在我的设置base.py我有这个包括我INSTALLED_APPS

INSTALLED_APPS = [ 
    ... 
    'sslserver', 
    'captcha', 
    'wagtailcaptcha', 
    ... 
] 

这是说,我曾尝试django-sslserver并收到相同的错误。当我使用HTTPS而不是HTTP访问网址时,HTTPS被划掉了。

同样在base.py中,我使用Google Recaptcha的开发密钥。使用我的实际键也会导致生成相同的错误。

我试过
RECAPTCHA_PUBLIC_KEY = '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI' 
RECAPTCHA_PRIVATE_KEY = '6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe' 
NOCAPTCHA = True 
RECAPTCHA_USE_SSL = False 
SECURE_SSL_REDIRECT = False 

其他的东西:安全通道,我得到一个403关于CSRF校验失败https://pastebin.com/JXWVWNJq

我的安全通道的设置是从http://userpath.co/blog/a-simple-way-to-run-https-on-localhost/ 然后我做了下面的命令,但HTTPS被划掉了,当我尝试使用HTTPS访问网址。

HTTPS=on python manage.py runserver

我的神社模板并使用CSRF令牌 https://pastebin.com/meXdkbfC

回答

0

的问题是一个传出请求失败SSL验证。您的本地设置不需要在HTTPS下运行。尝试使用pip install certifi安装一个证书包或看到这些答案"SSL: CERTIFICATE_VERIFY_FAILED" Error

+0

好吧,我尝试了certifi在某些点和相同的错误。所以,如果你能帮助我澄清另一个问题的解决方案,那将非常感激。问题:在这种情况下sslcontext代码会在哪里?它会是项目之外的单独文件吗? – user2899444

+0

我不认为在我发布的链接中接受的答案是要走的路,你可以尝试设置'NOCAPTCHA = False'和 'RECAPTCHA_USE_SSL = False'请参阅:https://github.com/praekelt/django- recaptcha/blob/develop/captcha/client.py#L98 –

+0

更改NOCAPTCHA = False而不是NOCAPTCHA = True有效。显然,前面的新版本captcha。 – user2899444