Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 只需从localhost:80到localhost:8080的nginx反向代理不工作_Node.js_Express_Nginx_Reverse Proxy - Fatal编程技术网

Node.js 只需从localhost:80到localhost:8080的nginx反向代理不工作

Node.js 只需从localhost:80到localhost:8080的nginx反向代理不工作,node.js,express,nginx,reverse-proxy,Node.js,Express,Nginx,Reverse Proxy,我第一次学习反向代理w/nginx,下面的内容对我不起作用 我正在尝试将请求从重新路由到我运行的api服务器 当我点击时,我只会看到欢迎使用nginx启动屏幕。 如果我点击,我会看到我的api 我有一个运行在:8080的node express服务,我可以手动点击它,但不应该在那里被代理?发现将它添加到我的nginx.conf中可以解决这个问题: listen [::]:80; 出于某种原因,80无法捕获我的请求。当我设置一个将请求转发到节点服务器的nginx域时,看起来是这样的,对于服务器名

我第一次学习反向代理w/nginx,下面的内容对我不起作用 我正在尝试将请求从重新路由到我运行的api服务器

当我点击时,我只会看到欢迎使用nginx启动屏幕。 如果我点击,我会看到我的api


我有一个运行在:8080的node express服务,我可以手动点击它,但不应该在那里被代理?

发现将它添加到我的nginx.conf中可以解决这个问题:

listen [::]:80;

出于某种原因,
80
无法捕获我的请求。

当我设置一个将请求转发到节点服务器的nginx域时,看起来是这样的,对于
服务器名称
,您可以使用
localhost
作为参数,通过localhost访问它。您还可以传递
default\u server
,使其成为默认服务器配置

注意:只有一个活动配置可以包含
default\u服务器
,否则Nginx将抛出错误

注意:使用
默认\u服务器时,Nginx将捕获该服务器配置中的
localhost
。否则,您需要在
server\u name
的列表中指定
localhost
(用空格分隔)

服务器{
#设置域名
server_name example.com;
监听80个默认_服务器;
#如果你想把你的东西打包
gzip on;
gzip_min_长度1;
gzip_类型*;
#设置代理
#这将把所有请求转发到服务器
#然后它会将服务器的响应转发回客户端
地点/{
代理通行证http://127.0.0.1:8080;
proxy_http_版本1.1;
代理设置头升级$http\U升级;
代理集头连接“升级”;
代理设置头主机$Host;
proxy\u set\u header X-Forwarded-For$proxy\u add\u X\u Forwarded\u For;
代理缓存绕过$http\u升级;
}
}

更改后是否重新加载或重新启动了
nginx
?您是否尝试
nginx-t
查看是否存在配置问题?是的,两者都尝试过,但都没有效果。没有服务器名称,因此我猜
默认值
配置正在接受请求。删除它或给它一个
服务器名
我添加了一个答案,说明我是如何解决它的。。。但是我不知道为什么:80不起作用,但是80起作用
listen [::]:80;