Passenger Standalone - 强制重定向到 SSL

Passenger Standalone - Force Redirect to SSL

我已经开始将 Elastic Beanstalk 与 Ruby + Passenger Standalone 一起使用,这看起来很棒,但是我想将所有 HTTP 重定向到 HTTPS,我还没有找到任何相关资源。我一直在考虑自定义 nginx.conf.erb,但真的不知道该怎么做。

请注意,我已经使用 SSL,我只需要将所有请求重定向到 SSL。

谢谢,

约翰

server {
   listen         80;
   server_name    my.domain.com;
   return         301 https://$server_name$request_uri;
}

server {
   listen         443 ssl;
   server_name    my.domain.com;

   [....]
}

回答这个问题好像晚了。仅供将来需要解决此问题的人使用:

尝试在 Passengerfile.json 中添加 "port": 80,并在 config/environments/production.rb.

中取消注释 "config.force_ssl = true"

第一个更改会将您的浏览器请求(不指定端口或协议,即 www.example.com 之类的内容)定向到乘客。第二行告诉乘客将任何 http 请求重定向到 https。