是否有一种简单的方法可以在整个应用上启用SSL?
我正在使用rails 2.3.8
答案 0 :(得分:7)
默认情况下,所有控制器都应继承ApplicationController
。
ssl_required
实际上由名为ssl_required?
的受保护方法支持,该方法确定给定操作是否需要SSL。此实现将使生产环境中始终需要SSL(但不是其他情况,因此您仍可以照常进行开发)。
class ApplicationController < ActionController::Base
# (... other stuff ...)
protected
def ssl_required?
Rails.env.production?
end
end
根据您的环境,上游服务器也可能只能通过HTTPS使用(例如,如果您使用的是Apache,则可以将其配置为不通过端口80为您的应用程序提供服务)。这取决于您的服务器设置。
答案 1 :(得分:0)
在Rails 5中,您可以在应用程序配置中执行此操作:
因此,如果您想在整个应用程序中将其禁用,只需将其添加到config/application.rb
:
...
config.force_ssl = true
...
或者如果要针对不同的环境进行不同的配置:
config/production.rb
...
config.force_ssl = true
...
config/development.rb
...
config.force_ssl = false
...