nginx / passenger rails app后面的aws elb ssl不要在https上加载rails app

时间:2014-09-07 06:52:30

标签: ruby-on-rails nginx passenger

我正在使用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 .. 任何建议,将不胜感激。

0 个答案:

没有答案