我有一个在Heroku中运行的Ruby on Rails服务器,我一直在尝试添加SSL,以便与使用Android开发的应用客户端进行通信。
我按照Heroku网站上的说明创建了self-signed certificate,并将结束点添加为this Heroku's tutorial suggests。一切看起来都很完美,我测试了证书,它也有效。为了强制服务器重定向到https协议,我也添加了'rack-ssl-enforcer'gem。
问题是,当在标头/有效负载(REST控制台或curl)中没有使用证书的任何服务器路由时,我想象ruby服务器应拒绝该请求,仅在请求具有有效证书时才允许。但是,它返回的值与项目中没有SSL协议时的值相同。
我还需要配置更多吗?为什么会这样?
答案 0 :(得分:0)
您是否按照here所述添加了相关的中间件配置?
# config/environments/production.rb
require 'rack/ssl'
config.middleware.use Rack::SSL
答案 1 :(得分:0)
在Rails中> 3.2你可以设置这个配置
config.force_ssl = true
无需额外的Gem或Rack中间件。