获得HTTPS连接以使用本地Rails应用程序和nginx?

时间:2013-03-28 23:27:21

标签: ruby-on-rails ssl https nginx

我有一个Ruby on Rails应用程序,我正在本地运行。然后我在本地运行一个nginx服务器。现在,连接在HTTP上工作正常,但是当我尝试通过HTTPS连接时,我从nginx收到“502 Bad Gateway”错误。我很确定证书是否正常工作,因为当它们没有时,我有一个不同的错误,但现在我的nginx配置出了问题?这是配置:

http {
  access_log off;
  #include mime.types;
  default_type application/octet-stream;

  upstream mydomain.com {
    server 127.0.0.1:8080;
  }

  server {
    listen 80;
    server_name local www.local;
    location / {
      proxy_pass http://mydomain.com;
    }
    add_header Pragma "no-cache";
  }

  server {
    listen 443;
    server_name local www.local;
    ssl on;
    ssl_certificate /Users/daise/projects/mydomain/run/ssl/server.crt;
    ssl_certificate_key /Users/daise/projects/mydomain/run/ssl/server.key;
    location / {
      proxy_set_header X-FORWARDED_PROTO https;

      #proxy_pass https://mydomain.herokuapp.com;
      proxy_pass https://mydomain.com;
    }
    add_header Pragma "no-cache";
  }
}

我还应该补充一点,我将我的/ etc / hosts文件解析为127.0.0.1

1 个答案:

答案 0 :(得分:0)

更改

 proxy_pass https://mydomain.com;

 proxy_pass http://mydomain.com;

你的ssl在nginx中终止。因此,无需使用https连接到上游服务器。

[更多

还要注意配置文件中的拼写错误:

proxy_set_header X-FORWARDED_PROTO https

proxy_set_header X-FORWARDED-PROTO https;