如何在 rails 中关闭 HSTS 的 includeSubDomains?

How can I turn off includeSubDomains for HSTS in rails?

我不想要 includeSubDomains 选项

➔ curl -s --head https://example.com/ |grep Strict 
Strict-Transport-Security: max-age=15552000; includeSubDomains

这似乎不起作用:

config.force_ssl = true
config.ssl_options = { hsts: { subdomains: false } }

我做错了什么?

Rails 5.0.1

我强烈建议您使用 secureheaders gem,这样您就可以更好地控制这些 headers(以及其他类似的)。

问题原来是 Rails 5 有一个初始值设定项 new_framework_defaults.rb,其中有这一行:

Rails.application.config.ssl_options = { hsts: { subdomains: true } }

因为它在初始化程序中,所以无论您在环境配置中放入什么,这些设置都不会起作用。我在这里打开了一个关于这个的问题:https://github.com/rails/rails/issues/27638