美文网首页
Nginx代理端口丢失

Nginx代理端口丢失

作者: Sean_w | 来源:发表于2024-01-11 12:24 被阅读0次

    记一次Nginx端口丢失的两种情况:
    一种是监听非默认端口时做反向代理时出现的端口丢失问题,如以下配置

    server  {
        listen 8888;
        server_name localhost;
        charset utf-8;
        root /var/lib/nginx;
        location / {
           proxy_pass http://1.2.3.4:8080;
        }
    }
    

    这种情况可以通过配置重写请求头中的Host字段

    proxy_set_header Host $http_host;
    

    另一种情况是通过NAT做服务暴露,导致的服务端口丢失
    配置如下:

    server  {
        listen 8888;
        server_name localhost;
        charset utf-8;
        root /var/lib/nginx;
        location / {
           try_files $uri $uri/ /test/index.html;
           index index.html;
        }
    }
    

    该问题google出的解决方案为重写URL
    配置如下:

    if (-d $request_filename) {
       rewrite [^/]$ $scheme://$http_host$uri/;
    }
    

    相关文章

      网友评论

          本文标题:Nginx代理端口丢失

          本文链接:https://www.haomeiwen.com/subject/xzstodtx.html