2017-05-22 81 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