任何时候你都可以开始做自己想做的事

搜索|
nginx 反向代理 端口过滤 URL重定向 过滤带端口URL
发布时间:2025-02-17 23:58:05


nginx常见的反向代理源服务器的时候,

1.这个是最常见的过滤URL带端口的情况,这种方式一般也解决了大部分问题

sub_filter ":8088" "";

sub_filter_once off;

但源服务器的程序有些功能会生成重定向的URL,有些程序框架可能会识别到通信端口来生成重定向URL,而不是通过请求头来生成,会生成带NGINX通信端口的URL。 常见的登录验证跳转到登录页面

2.就可直接配置location 指定URL 跳转

location ~* ^/(user/default\.aspx|abc/xxxx\.php)$ {

#这里使用正则表达式,匹配多个需要重定向到登录页面的路径

        # 强制重定向到登录页面

        return 302 http://$host/login.aspx;

    }

3.也可尝试增加下面2个配置:

但很多程序框架可能不支持识别X-Forwarded,没效果。

proxy_set_header X-Forwarded-Proto $scheme;

proxy_set_header X-Forwarded-Port 80; # 强制指定为80端口


4.直接把特定带端口号的URL,使用重写规则到没端口号的URL

    if ($http_host = "abc.com:8080") {

        rewrite ^/login.aspx$ http://www.abc.com/login.php permanent;

    }