我正在开发一个使用SSL连接的Rails应用程序。我目前正在使用js和css文件的第三方资源来实现地图(OpenStreetMap)。我已经尝试将这些资源(js和css)导入到我的应用程序中,但javascript代码尝试通过HTTP访问外部WMS。
问题是当应用程序使用HTTPS时,Google Chrome会阻止从HTTP访问第三方资源。
所以我在应用程序的某些页面上禁用了SSL,并试图以我想要的方式强制使用HTTP或HTTPS。
关注此博客:http://www.simonecarletti.com/blog/2011/05/configuring-rails-3-https-ssl/并且有效。
但是当我强制使用谷歌浏览器将HTTP协议强制用于使用这些资源的页面时,它会强制HTTPS连接导致无限循环。
如果我清除Chrome缓存(已经使用HTTPS访问过同一页面),以便通过HTTP访问它,则可以使用。但是,如果我访问了HTTPS页面并尝试通过HTTP访问,Chrome会强制HTTPS连接导致无限循环。
问题是:我是否可以在请求中设置导致Chrome接受连接的内容?
此致
答案 0 :(得分:10)
我一直在对此进行一些研究,结果是在Rails 3上打开force_ssl = true
会导致应用程序发送HSTS标头。这里有一些关于它的信息:How to disable HTTP Strict Transport Security?
基本上,HSTS标题告诉Chrome(和Firefox)仅在特定时间内通过HTTPS访问您的网站。
所以...我现在给你的答案是,你可以通过转到Chrome浏览器中的about:net-internals
并删除HSTS状态来清除自己的HSTS设置。
我认为这里的答案可以帮助您:Rails: activating SSL support gets Chrome confused