9 dns ssl https ruby-on-rails heroku
我正在努力为在Heroku(欧盟地区)上运行的rails应用强制执行SSL连接.
我已成功将cert(包含Heroku SSL加载项)添加到自定义域中(如果我明确说明https://..com它完美运行)
但我想将所有http请求重定向到https连接.
对于美国地区的应用,这需要将自定义域DNS记录指向.herokussl.com NOT .herokuapp.com.文档:https://devcenter.heroku.com/articles/ssl-endpoint#dns-and-domain-configuration
对于欧盟地区的应用,自定义DNS记录仍应指向.herokuapp.com,默认情况下,它似乎不会强制实施SSL连接.
因此,我的问题是:如何让我在欧洲运行的Heroku应用程序的所有连接都被迫通过SSL运行?
Dic*_*Boy 27
production.rb
Rails.application.configure do
config.force_ssl = true
end
Run Code Online (Sandbox Code Playgroud)
这会将所有http流量重定向到https
编辑:值得注意的是,这是一个Rails而不是一个heroku.
修订:
由于这个答案/问题经常被看到并被投票,因此也可以在每个请求的控制器内:
class AccountsController < ApplicationController
force_ssl if: :ssl_configured?
def ssl_configured?
!Rails.env.development?
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2655 次 |
| 最近记录: |