首页 > 解决方案 > NGINX 反向代理不从端口 80 转发

问题描述

我在 ubuntu 上用 NGINX 创建了一个简单的反向代理。当我将 Nginx 设置为侦听不是 80 的任何端口时,我将转发到在端口 4000 上运行的应用程序:

server {
  listen       3000;
  server_name  localhost;

      location / {
        proxy_pass http://ec2-xx-xxx-xxx-xx.eu-central-1.compute.amazonaws.com:4000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
      }
    }

但是,如果我将监听端口更改为 80,那么我总是会登陆 NGINX 登陆页面,而不是转发到目标 IP。

server {
  listen       80;
  server_name  localhost;

  location / {
    proxy_pass http://ec2-xx-xxx-xxx-xxx.eu-central-1.compute.amazonaws.com:4000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }
}

如果我运行命令 ss -ntl 我可以看到端口 80 和 3000 已打开并正在使用中。

谁能建议我做错了什么?

标签: nginxnginx-reverse-proxy

解决方案


推荐阅读