我正在使用nginx / passenger服务器运行我的rails 4应用程序,并且SSL在我的AWS负载平衡上。我将端口443转发到80,但我也有端口80到端口80 ..
主要思想是将所有传入和链接从http重定向到https。只需在负载平衡上添加重定向即可完成工作。
然后我在rails上的生产配置上尝试了force_ssl,这也没有用,因为它告诉我服务器正在尝试在公共文件夹下查找控制器..并且给我一个404. / p>
我试图做的另一个解决方案是在我的网站启用/默认文件中添加此部分:
location / {
# needed to forward user's IP address to rails
proxy_set_header X-Real-IP $remote_addr;
# needed for HTTPS
proxy_set_header X-FORWARDED-PROTO https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
上面的代码至少将网址重定向到https,但Nginx仍然显示404代码。 没有上面的任何东西,并通过端口80运行,我的应用程序工作..和纯html的首页,它显示为https,但一旦我开始使用我的rails应用程序(通过我的控制器),它返回到http .. 任何建议,将不胜感激。