【问题标题】:need a crash course in HTTPS / SSL for Rails需要 Rails 的 HTTPS / SSL 速成课程
【发布时间】:2012-01-25 18:10:12
【问题描述】:

我已经使用 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
  • 如何强制使用 https 进行任何安全交易(例如提交密码)?
  • 如何使用 localhost:3000 测试这些东西?

同样欢迎提供具体答案、一般答案以及指向教程和示例的指针。谢谢!

【问题讨论】:

    标签: ruby-on-rails ssl https heroku


    【解决方案1】:

    第一:

    redirecting from http://example.com to https://example.mysite.com

    ... 是一个非常具体的问题,它取代了这个非常笼统的问题。我将总结我在过去 24 小时内找到的最佳信息,因为它可能对其他人有所帮助。

    希望对您有所帮助...

    【讨论】:

      【解决方案2】:

      我会看看 ssl_requirement。这允许您保护应用程序的各个部分,从而迫使您仅通过 HTTPS 提供某些页面。

      https://github.com/rails/ssl_requirement

      通过本地开发,您需要设置某种 Apache / NGinx 设置,并附上本地签名的证书。一个快速的谷歌发现了这一点:

      http://www.subelsky.com/2007/11/testing-rails-ssl-requirements-on-your.html

      【讨论】:

      • 谢谢——ssl_requirement 看起来简单而优雅。通过为secure.oursite.com(而不仅仅是oursite.com)指定SSL证书,我的生活变得更加困难了吗?我想我可以撤消它。
      • Waitaminnit -- ssl_requirement 似乎不再适用于 Rails 3 -- 请参阅 stackoverflow.com/questions/3634100/rails-3-ssl-deprecation 。另一方面,相同的链接提出了适当的替代方案。
      猜你喜欢
      • 2011-02-28
      • 1970-01-01
      • 2011-09-08
      • 2023-03-16
      • 2011-02-01
      • 1970-01-01
      • 2011-01-20
      • 2014-07-14
      • 1970-01-01
      相关资源
      最近更新 更多