nginx反向代理nodejs服务器不成功?
我做了一个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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
注意
proxy_pass
的结尾。node server服务地址:
http://127.0.0.1:2000/api/abc
代理后:
http://127.0.0.1/api/abc
返回代理服务,除了/api
开头的其他路径内容访问不受影响我跟你一样,死活都不行,之前好像也是这么配置的。都可以。