我已成功将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/

10-09 16:13
查看更多