当我请求http://example.com/something
时,当我设置简单的nginx位置来捕获所有到root的流量并通过代理传递到端口3000上的nodeJS时,当我进入mydomain.net时,我从nodeJS得到了结果,但是当我尝试example.com/something时,却得到了502 Bad Gateway。
server {
listen xxx.xxx.xxx.xxx:80;
server_name example.com www.example.com;
location / {
proxy_pass http://xxx.xxx.xxx.xxx:3000/;
}
}
我希望nodeJS在端口80上单独运行时,在不使用nginx的情况下可以处理其余的url(在/之后)。
答案 0 :(得分:0)
在文件中粘贴以下代码,并确保将example.com更改为您的域(或IP),并将1337更改为您的Node.js应用程序端口:
server {
listen 80;
server_name example.com;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://127.0.0.1:3000";
}
}
比
sudo nginx -t
sudo service nginx restart
答案 1 :(得分:0)
我发现nginx代码还可以,我的SSL配置似乎在这里产生了问题,并且在检查了nginx的错误日志后,再次启动并成功获取NodeJS的所有位置。谢谢大家。