我在为我的应用程序启用 ssl 时遇到问题。
我尝试了各种 gems/解决方案,但都没有用。这是列表:
- > Rails 3 SSL Deprecation
- > http://collectiveidea.com/blog/archives/2010/11/29/ssl-with-rails/
- (还有其他一些,但我只能发布 2 个超链接。)
我已确保删除了之前尝试的所有代码。
我想要什么
我希望整个 (Rails3) 应用程序通过 SSL/HTTPS 运行。我已经阅读了许多解释这一点的文章并尝试了各种解决方案(见上文)。
那么问题是什么:
目前我使用 rails 3 bartt/ssl_requirement gem,问题是一些 url 转到 [ http://example.com:443页]。这会导致页面删除错误。同时其他网址都可以,转到 [ https://example.com]他们工作。我正在谈论的这些 url 都来自同一个 Controller ,即 ssl_forced/ssl_required/whatever。我什至试图用 :protocol => 'https' 来限制所有路由,但这导致了无休止的重定向。
我使用 bartt/ssl_required atm,因为 url 不会导致无休止的重定向错误,这是我在其他一些 gems/解决方案中遇到的。
我不明白...我知道每个加密的 url 都通过端口 443,但我不记得看到任何带有直接端口的 http/https url。
是什么导致同一 Controller 中出现这种奇怪的 url 行为?是因为有些是命名路由吗?我该如何:约束它们,因为我无法让这个东西工作。
最佳答案
我找到了解决方案。
我的 ssl 设置是正确的,但我为我的链接使用了错误的助手。 我使用了 _url-helper 方法,它应该是 _path-helper。
这解决了 http://example.com:443网址 https://example.com . 似乎 url-helper 以某种方式重写了整个 url。 (一定是这样的)
耐心万岁。
关于ruby-on-rails-3 - Rails3 SSL 路由问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5030077/