gpt4 book ai didi

从 http ://example. com 重定向到 https ://example. mysite.com

转载 作者:太空宇宙 更新时间:2023-11-03 12:52:06 24 4
gpt4 key购买 nike

这个问题已经以各种排列方式提出,但我还没有找到能够回答我的特定问题的正确组合。

配置

  • Rails 3.1(允许我在我的 ApplicationController 中使用 force_ssl)
  • 托管在 Heroku Cedar 上(因此我无法接触中间件)
  • 我的 SSL 证书是为 secure.example.com 注册的

我已经将 force_ssl 添加到我的 ApplicationController 中,如下所示:

# file: controllers/application_controller.rb
class ApplicationController < ActionController::Base
protect_from_forgery
force_ssl
end

问题

目前,如果用户导航到 http://example.com,force_ssl 会切换到 SSL,但由于它不是 secure.example.com,它会显示一个关于未经验证的安全证书的警告,因为它使用默认的 Heroku 证书。

(我已经验证导航到 http://secure.example.com 正确重定向到 https://secure.example.com 并使用正确的安全证书。这很好。)

问题

如何强制 http://www.example.com/anythinghttp://example.com/anything 重定向到 http://secure.example.com/anything? (我假设 force_ssl 将处理从 http 到 https 的切换。)由于我无法接触中间件(回想一下这是 Heroku 托管),我假设我可以做类似的事情:

# file: controllers/application_controller.rb
class ApplicationController < ActionController::Base
protect_from_forgery
force_ssl
before_filter :force_secure_subdomain

private
def force_secure_subdomain
redirect_to(something...) unless request.ssl?
end
end

...但我还没有充分理解 redirect_to 和请求对象以了解为 something... 编写什么。 (我想确保它处理查询参数等)

最佳答案

您可以通过执行以下操作重定向到不同的主机名:

# file: controllers/application_controller.rb
class ApplicationController < ActionController::Base
force_ssl :host => "secure.example.com"
end

参见:rails force_ssl source了解更多信息

关于从 http ://example. com 重定向到 https ://example. mysite.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9027916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com