2017-07-10 5 views
0

Chromeブラウザを使用してPOSTリクエスト(ログインまたはフォーム経由でデータを投稿する)でエラーが発生します。 http://52.xx.xx.xxx/users/loginで試してみることができます。任意のユーザー名とパスワードを使用してください:Chromeで「CSRFトークンの信頼性を確認できません」というエラーが発生しました。 Safariで正常に動作します

変更は拒否されました。ここで

ログからエラーの抜粋です:

W, [2017-07-10T08:40:16.486974 #11349] WARN -- : Can't verify CSRF token authenticity 
I, [2017-07-10T08:40:16.487259 #11349] INFO -- : Completed 422 Unprocessable Entity in 1ms (ActiveRecord: 0.0ms) 
D, [2017-07-10T08:40:16.487526 #11349] DEBUG -- : User excluded error: #<ActionController::InvalidAuthenticityToken: ActionController::InvalidAuthenticityToken> 

まったく同じログイン要求、または他のポスト要求がSafariで通過。サイトには自己署名入りの証明書があります。そこで、Chromeの設定を変更して証明書を信頼し、Cookieを受け入れるようにしました。

他にどのようなログが問題をデバッグするのに役立つかをお勧めします。私は過去2日間にかなりのSOスレッドを見てきましたが、私の問題を解決したものは何も見つかりませんでした。

編集: サイトへの不要なトラフィックを防ぐため、IPアドレスを削除しました。

答えて

0

私は、URLの先頭にhttpの代わりにhttpsを使用して問題を回避しました。期待どおり、クロムはセキュリティに関連する警告をスローしますが、例外を追加すると、ポストリクエストがエラーなく通過することができます。

Safariは何らかの形で私のリクエスト(httpでも何もない)をhttpsにリダイレクトすることができました。サファリでhttpで試して、同じ問題で終わった。

元の観測はもう保持されないので、これを解決済みとしてマークします。 httpとhttp以外のリクエストをnginxバックエンドでhttpsにリダイレクトする方法を理解する必要があります。問題を修正する必要があります。

関連する問題