美文网首页
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