子文件夹中的 nginx 反向代理导致“网关错误”或“找不到文件”

子文件夹中的 nginx 反向代理导致“网关错误”或“找不到文件”

我正在尝试使用反向代理来放置 node.js 应用程序 (node-red)。

server {
listen 80;

server_name example.com

            location / {
                proxy_pass http://example.com:1880;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
            }
}

这个按预期工作,我可以从example.com

然后我需要使用根example.com作为主页,并将 node-red 移入子文件夹

server {
listen 80;

server_name example.com

    location / {
            root     /home/admin/nginx/www;
            index    index.html;

        }
    location /nodered/ {
                proxy_pass http://example.com:1880;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
            }
}

对于这次尝试,我可以访问主页(index.html)访问时example.com,但访问时example.com/node-red我得到了Bad Gateway error

我也尝试过location /nodered/改变location /nodered(/.*)$这个答案,但后来我得到了404 error

有人可以帮忙吗?谢谢。

答案1

事实证明我犯了一个愚蠢的错误。
问题出在尾部斜杠上。下面的代码解决了这个问题

proxy_pass http://example.com:1880/;

谢谢至这个答案

顺便说一句,我不确定为什么文档但没有显示尾部斜杠。

相关内容