Lev*_*Lev 11 ssl heroku ruby-on-rails-3
我最近更改了我在Heroku上运行的Rails应用程序的域名.我将原始版本重定向到新版本,并且在过去的几个月中一直在运行SSL.我尝试从原始域中删除SSL,因为它只是重定向.
我做了我认为应该做的一切:
config.force_ssl = false在production.rb中关闭应用程序中的SSL如果我去myapp.herokuapp.com,一切都很好,但如果我去myapp.com或www.myapp.com它会自动尝试带我到网站的安全版本,https: //myapp.com ,我从浏览器中收到标准的安全错误警告.
我错过了什么吗?这是一个缓存问题吗?是否需要时间才能启动DNS更改?我尝试过几台机器/浏览器,问题在所有机器/浏览器上都是一致的.
最糟糕的情况是,我绝对可以重新添加SSL端点,但它看起来有点过分.
Jan*_*bel 12
config.force_ssl = true使Strict Transport Securityheader(HSTS)使用max-age一年.看到这个问题.此类标头强制支持它的浏览器通过HTTPS与服务器联系一年.这是为了防止中间人降级HTTPS连接到HTTP的攻击.
为提供服务的生产站点移出HTTPS HSTS并不容易.您应该通过HTTPS保持您的网站服务并返回HSTS标题max-age=0以重置一年设置.问题是要确定需要多长时间保留HTTPS.为了绝对确保所有客户都切换,你应该做一年.您可能决定在较短的时间内执行此操作,但可能会为不经常访问的客户打破网站.
除了Jan所说的,这就是我做的伎俩.
在application_controller.rb中:
before_filter :expire_hsts
[...]
private
def expire_hsts
response.headers["Strict-Transport-Security"] = 'max-age=0'
end
Run Code Online (Sandbox Code Playgroud)
在production.rb
config.force_ssl = false
Run Code Online (Sandbox Code Playgroud)
清除 Web浏览器的缓存,就是这样!
| 归档时间: |
|
| 查看次数: |
5345 次 |
| 最近记录: |