我已经使用HTTP在Heroku上运行了Ruby on Rails应用程序。现在是时候在登录过程中使用HTTPS以及用户登录后的所有事务。但我不知道从哪里开始。
我们正在使用:
Ruby (1.9.2)
Rails (3.0.5)
Devise (1.5.3)
我们的域名(由GoDaddy注册)是oursite.com
(不是它的真实姓名),它解析为oursite.herokuapp.com
。我希望在子域https://secure.oursite.com
中执行安全交易。我从GoDaddy购买了SSL证书,创建了密钥文件,注册了Zerigo DNS服务,并将oursite.com名称服务器设置为指向Zergo的服务器。在Heroku上,我已经完成了:
heroku domains:add secure.oursite.com
heroku ssl:add final.crt site.key
heroku addons:add ssl:hostname
http://oursite.com
下访问我们的网站,我将如何(以及何时)切换到https://secure.oursite.com
?同样欢迎具体答案,一般答案以及教程和示例的指示。谢谢!
答案 0 :(得分:9)
首先:
redirecting from http://example.com to https://example.mysite.com
...是一个非常具体的问题,取代了这个非常普遍的问题。我将总结过去24小时内找到的最佳信息,因为它可能对其他人有所帮助。
force_ssl
方法,可以替代各种加载项宝石(特别是{ {1}})。ssl_requirement
的实施值得关注,只是为了了解它如何使用ssl_requirement
和redirect_to
对象。希望这有用......
答案 1 :(得分:1)
我想看一下ssl_requirement。这使您可以保护应用程序的各个部分,从而迫使您仅通过HTTPS提供某些页面。
https://github.com/rails/ssl_requirement
通过本地开发,您需要设置某种Apache / NGinx设置,并使用本地签名的证书进行固定。一个快速的谷歌发现了这个:
http://www.subelsky.com/2007/11/testing-rails-ssl-requirements-on-your.html