我已成功将Rails应用程序部署到Google App Engine(我的域也由Google托管),现在我想将任何将我的http://地址重定向到我的https://地址的人。
我找到了使用handlers
文件中的app.yaml
元素为Python应用程序here做到这一点的文档,并尝试自己复制它。
我的app.yaml
文件现在包含以下内容:
handlers:
- url: /.*
script: config/application.rb
secure: always
redirect_http_response_code: 301
但是,我仍然可以访问http://而不被重定向,我认为这是因为我通过了
script: config/application.rb
选项。我不知道我应该使用哪个文件,或者该文件应包含在Rails应用程序中。如果我不通过script
选项,则部署会中断。让我知道您是否需要更多信息,在此先感谢您的帮助!
最佳答案
好了,您可以通过应用程序的config/environments/production.rb
文件强制实施SSL,只需添加一行即可:
Rails.application.configure do
# Other code...
config.force_ssl = true # add this line to force HTTPS on production
end
实际上,这将为您的应用程序做三件事:
TLS重定向
安全cookie:在cookie上设置
secure
标志HTTP严格传输安全性(HSTS)
在http://guides.rubyonrails.org/configuring.html上了解有关应用程序配置的更多信息
关于ruby-on-rails - 如何使Google App Engine上的Rails应用重定向到HTTPS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49586671/