我使用port 8080在私有子网上运行的导轨应用程序,而无需启用SSL。我在DMZ上也有一个Apache SSL Server,我首先将其用作Rails应用程序的反向代理。
问题是,铁轨在生成的代码中包含一些绝对URL,并以http://...
开头的Adresses。如果我在此处或那里阅读时使用config.force_ssl = true,则有一个无限的重定向,因为Rails将请求视为普通的HTTP,并将其重定向到HTTPS,但是如客户端已经是。
解决方案很简单:将此行放入反向代理配置文件中:
requestheader设置x-forwarded proto" https"