隐藏 ngnix 中的端口并显示站点链接

隐藏 ngnix 中的端口并显示站点链接

我已经尝试过以下提到的建议:

在 Nginx 反向代理重定向中隐藏端口

但它对我没有帮助。

我已经为我的 django+gunicorn 应用程序完成了 nginx 反向代理,并且它在端口 8000 上打开。我可以通过以下方式访问计算机名称:http://some_machine:8000以查看我的应用程序正在运行。我已使用 Nginx 反向代理将在该机器上运行的 localhost 映射到机器名称。我想隐藏端口,并在 URL 中输入类似http://some_machine/zmk代替http://some_machine:8000/zmk

我正在将以下内容写入我的/etc/nginx/conf.d文件夹:

upstream zms {    
  ip_hash;    
  server zms:8000;    
}

# portal

server {    
  location /zmk {    
        proxy_pass http://zms/;    
        # proxy_redirect http://some-machine:8000/ http://some-machine/zmk;    
        port_in_redirect off;    
        # autoindex on;            
        proxy_set_header Host $host:$server_port;    
        proxy_set_header X-Real-IP $remote_addr;    
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    
        proxy_set_header   X-Forwarded-Proto $scheme;    
    }
  listen 8000;    
  server_name localhost    
  server_name_in_redirect off;    
}

我不明白我做错了什么?我也尝试将上述内容复制到/etc/nginx/site-available文件夹中。

答案1

将您的listen语句更改为listen 80。这样,您的 nginx 服务器将侦听端口 80,并将流量代理到端口 8000。

相关内容