nginx反向代理nodejs服务器不成功?

发布于 2022-09-12 01:47:52 字数 1095 浏览 14 评论 0

我做了一个windows下简单的nginx反向代理node服务的配置,单独的打开nginx监听的地址端口没问题(127.0.0.1),单独访问node监听的端口也没问题(127.0.0.1:9090)。但是,用nginx反向代理node监听的端口之后,访问127.0.0.1/x/y,页面一直是404,node服务器一直收不到请求。
经换机器测试在windows 10系统上可用,windows server 2016不可用,防火墙已关闭。
简单的代码示例如下图:

// node服务器端代码app.js
const Application = require('koa');

const app = new Application();

app.use(ctx => {
    console.log('nginx代理');
    ctx.response.body = {
        test: 'nginx代理到node'
    };
});

app.listen(9090, () => {
    console.log('监听9090端口');
});
// nginx.conf下server的配置,其他默认
server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   html;
        index  index.html index.htm;
    }

    location /x/ {
        proxy_pass http://127.0.0.1:9090;
    }
    
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

麻烦大神指导一下,跪谢~~~
环境:
操作系统:windows server 2016
node版本:v12.16.1
koa:^2.11.0
nginx:1.17.9

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

維他命╮ 2022-09-19 01:47:52

注意 proxy_pass 的结尾。

location /x/ {
    proxy_pass http://127.0.0.1:9090/; # 有反斜杠
}
# 访问 http://127.0.0.1/x/y 会反向代理到 http://127.0.0.1:9090/y

location /x/ {
    proxy_pass http://127.0.0.1:9090;  # 无反斜杠
}
# 访问 http://127.0.0.1/x/y 会反向代理到 http://127.0.0.1:9090/x/y
戏舞 2022-09-19 01:47:52

node server服务地址: http://127.0.0.1:2000/api/abc

   server {
        listen 80;
        server_name 127.0.0.1;
        index index.html index.htm;
        location / {
            root /usr/local/var/www;
        }
        location /api {
            proxy_pass http://127.0.0.1:2000/api;
        }
    }

代理后: http://127.0.0.1/api/abc 返回代理服务,除了 /api开头的其他路径内容访问不受影响

烟织青萝梦 2022-09-19 01:47:52
location / {
    proxy_pass    http://127.0.0.1:9000;
}
绻影浮沉 2022-09-19 01:47:52

我跟你一样,死活都不行,之前好像也是这么配置的。都可以。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文