ruby-on-rails – 强制在欧盟地区运行的Heroku应用程序使用SSL
发布时间:2020-12-16 19:31:01 所属栏目:百科 来源:网络整理
导读:我正在努力为在Heroku(欧盟地区)上运行的rails应用强制执行SSL连接. 我已成功将cert(包含Heroku SSL加载项)添加到自定义域(如果我明确声明https://..com它完美运行) 但我想将所有http请求重定向到https连接. 对于美国地区的应用,这需要将自定义域DNS记录指
我正在努力为在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? 解决方法
production.rb
Rails.application.configure do config.force_ssl = true end 这会将所有http流量重定向到https 编辑:值得注意的是,这是一个Rails的东西,而不是一个heroku的东西. 修订: 由于这个答案/问题经常被看到并被投票,因此在每个请求的控制器中也可以: class AccountsController < ApplicationController force_ssl if: :ssl_configured? def ssl_configured? !Rails.env.development? end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |