2017-10-17 8 views
2

httpsを私のレールアプリケーションで動作させようとしています。私はアプリケーションで私は、次のエラーを取得している関連する活動を投稿しようとすると。HTTPS for Railsアプリケーション - InvalidAuthenticityToken

# config/environments/production.rb 
Rails.application.configure do 
    config.force_ssl = true 
end 

あなたは、これが他の環境に反映したい場合は、同様に適切な環境ファイルを するためにそれを追加します。あなたのconfig/environments/production.rbにこれを追加すること

Exception `ActionController::InvalidAuthenticityToken' at /usr/local/rvm/gems/ruby-2.4.1/gems/actionpack-5.0.4/lib/action_controller/metal/request_forgery_protection.rb:195 - ActionCon 
troller::InvalidAuthenticityToken 
Exception `ActionController::InvalidAuthenticityToken' at /usr/local/rvm/gems/ruby-2.4.1/gems/actionpack-5.0.4/lib/action_controller/metal/rescue.rb:23 - ActionController::InvalidAuthe 
nticityToken 
Exception `ActionController::InvalidAuthenticityToken' at /usr/local/rvm/gems/ruby-2.4.1/gems/activesupport-5.0.4/lib/active_support/notifications/instrumenter.rb:25 - ActionController 
::InvalidAuthenticityToken 
Exception `ActionController::InvalidAuthenticityToken' at /usr/local/rvm/gems/ruby-2.4.1/gems/actionpack-5.0.4/lib/action_dispatch/middleware/callbacks.rb:42 - ActionController::Invali 
dAuthenticityToken 
Exception `ActionController::InvalidAuthenticityToken' at /usr/local/rvm/gems/ruby-2.4.1/gems/actionpack-5.0.4/lib/action_dispatch/middleware/debug_exceptions.rb:77 - ActionController: 
:InvalidAuthenticityToken 
+0

コントローラコードのコピーを投稿できますか?あなたはDeviseのような認証宝石を使っていますか?もしそうなら、どのバージョン?また、これはSSLなしで動作しますか? –

+0

@TomAranda httpで完璧に動作します。 httpsからのフォーム提出時にhttpに投稿された投稿投稿 –

+0

あなたのセッションはすべてhttpsでですか?言い換えれば、GETフォームを読み込み、httpsでフォームを投稿するというあなたの要求はどれですか?もしそうでなければ、たぶんレールは異なるセッションを使用しているため、真正性トークンが失敗することになります。 –

答えて

2

してみてください。

+0

これを試してみましょう:) –

+0

これは素晴らしいです。 'proxy_set_header X-Forwarded-Proto $ scheme;'もnginxの設定で追加しなければなりません:) –

+0

私はうまくいきました。 –

関連する問題