强制 RoR 应用程序的 URL 根为 HTTPS 而不是 HTTP

强制 RoR 应用程序的 URL 根为 HTTPS 而不是 HTTP

我正在尝试通过 Apache 反向代理运行 Redmine (RoR)。Mongrel 提供纯文本页面,Apache 使用 SSL 保护这些页面并将其提供给我的用户。问题是 Redmine 中的各种链接和重定向将用户发送到 http:// 而不是 https:// 。

管理页面上的设置已针对 https 进行了配置,但这似乎没有帮助。我还在 environment.rb 中添加了此行来解决相对根问题(解决了它,但没有解决 https 问题):

ActionController::AbstractRequest.relative_url_root = "/r/" 

我如何强制Redmine始终使用https?

请注意,重定向不起作用,因为我的服务器只打开了 :443,因此 :80 请求不会被视为被重写。重写网站的数据可能会起作用,但似乎不太理想。

答案1

其中每一个都指的是在 Apache 配置中将 X_FORWARDED_PROTO 设置为“https”:

祝你好运。

相关内容