10

Rails 5 (ベータ 1) に非常に奇妙な問題があり、フォームを安全に送信できません。

SSL を復号化する Nginx (Ubuntu 12.04 では 1.4.6) リバース プロキシの背後で運用モードで実行している場合、フォームによって正しいトークンが送信されているにもかかわらず、Rails は CSRF トークンが無効であると言って拒否します。

Nginx で SSL をオフにすると、すべて正常に動作します。

どんな助けでも大歓迎です。

4

1 に答える 1

19

X-Forwarded-Ssl onNginx ( 、X-Forwarded-Port 443およびX-Forwarded-Host "your hostname"、 ) にヘッダーを追加して修正しX-Forwarded-Proto httpsます。問題は実際には CSRF トークンが ActionController によってチェックされる新しい方法にありました (request.base_url を元のヘッダーと比較します)。

于 2016-01-08T10:30:57.237 に答える