如何在 Rails 4 中提供 HSTS 支持
How can I provide HSTS support in Rails 4
在 Rails 5 中我们可以这样做:
config.ssl_options = { hsts: { expires: 10.days } }
我发现一篇旧文章说我可以强制执行它
before_filter :strict_transport_security
def strict_transport_security
if request.ssl?
response.headers['Strict-Transport-Security'] = "max-age=31536000; includeSubDomains"
end
end
在这个文件中有一个HSTS方法,这是否意味着它在Rails 4.2中默认打开?
https://github.com/rails/rails/blob/4-2-stable/actionpack/lib/action_dispatch/middleware/ssl.rb
Rails 5 添加了您可以在 ssl_options
中指定的更多选项,但是 rails 4 已经有了基本选项,包括 hsts: { expires: 10.days, subdomains: false }
,如您在代码中所见。
config.force_ssl = true
config.ssl_options = { hsts: { expires: 10.days, subdomains: false } }
在 Rails 5 中我们可以这样做:
config.ssl_options = { hsts: { expires: 10.days } }
我发现一篇旧文章说我可以强制执行它
before_filter :strict_transport_security
def strict_transport_security
if request.ssl?
response.headers['Strict-Transport-Security'] = "max-age=31536000; includeSubDomains"
end
end
在这个文件中有一个HSTS方法,这是否意味着它在Rails 4.2中默认打开? https://github.com/rails/rails/blob/4-2-stable/actionpack/lib/action_dispatch/middleware/ssl.rb
Rails 5 添加了您可以在 ssl_options
中指定的更多选项,但是 rails 4 已经有了基本选项,包括 hsts: { expires: 10.days, subdomains: false }
,如您在代码中所见。
config.force_ssl = true
config.ssl_options = { hsts: { expires: 10.days, subdomains: false } }