我有一个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
答案 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;