如何在Google App Engine上制作Rails应用重定向到HTTPS

时间:2018-03-31 10:18:37

标签: ruby-on-rails google-app-engine https gcloud

我已成功将我的Rails应用程序部署到Google App Engine(我的域也由Google托管),现在我想将任何人转到我的http://地址重定向到我的https://地址。 / p>

我已经使用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选项,则部署会中断。

如果您需要更多信息,请告诉我,并提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

您可以通过应用的config/environments/production.rb文件强制执行SSL,只需添加一行:

Rails.application.configure do
    # Other code...
    config.force_ssl = true # add this line to force HTTPS on production 
end

这将为您的应用程序做三件事:实际上:

  1. TLS重定向
  2. 安全Cookie:设置Cookie上的secure标志
  3. HTTP严格传输安全(HSTS)
  4. http://guides.rubyonrails.org/configuring.html

    了解有关您的应用程序配置的详情