0

サーバーbartt-ssl_requirementでのSSL実装に使用しRails 3.2.13ていますngnix

gem 'bartt-ssl_requirement', '~>1.4.0', :require => 'ssl_requirement'

httpsになるページとhttpのみのページがあります。

だから私は書きましたapplication_controller.rb

include SslRequirement

ssl_required :new,createsessions_controller.rb

ssl_required :showsettings_controller.rb

httpページからhttpsページに切り替えると問題ありません。

しかし、https から任意の http に切り替えると、. で無限のリダイレクト ループが発生しMozillaます。

httpページにはforce-non-sslも試しました。しかし、変化はありません。

Railsまたはngnixサーバー設定で修正する方法を教えてください。

注: この問題は mozilla でのみ発生します。ただし、Chrome と Internet Explorer では正常に動作します

4

1 に答える 1

0

次のコードを使用して、http から https に、またはその逆にリダイレクトしました

def ensure_proper_protocol
     if request.ssl? && !ssl_allowed_action?

       redirect_to "http://" + request.host + request.fullpath
     elsif !request.ssl? && ssl_allowed_action?

       redirect_to "https://" + request.host + request.fullpath 
     end
  end

そして、gem 'bartt-ssl_requirement'

それでも問題は解決しませんでした。

production.rbそれから私は単にconfig/environments

config.action_controller.perform_caching = false

現在、完全に機能しています。

于 2014-01-09T14:18:15.677 に答える