如何在不添加端口号的情况下使用 NginX 进行 301 重定向?
How to 301 redirect with NginX without adding port number?
我需要用nginx将整个目录的内容301重定向到另一个目录。虽然我的配置有效,但不幸的是它也暴露了端口号。我猜现在这是一个副作用,因为特定域的入站流量是通过 HAProxy ACL 规则处理到 8000 端口的,而 url 本身是端口 80。
这是我的 nginx 配置:
server {
listen 8000;
port_in_redirect off;
location ~* ^/data/dir1/(.*)$ {
return 301 /data/dir2/;
}
...
它从 URL 重定向:
域名.com/data/dir1/...
到:
domain.com:8000/data/dir2/...
如何去掉 URL 重定向中的 8000?
您可以使用不带端口号的绝对 URL:
return 301 http://domain.com/data/dir2/;
HAProxy 应该完成剩下的工作。
我需要用nginx将整个目录的内容301重定向到另一个目录。虽然我的配置有效,但不幸的是它也暴露了端口号。我猜现在这是一个副作用,因为特定域的入站流量是通过 HAProxy ACL 规则处理到 8000 端口的,而 url 本身是端口 80。
这是我的 nginx 配置:
server {
listen 8000;
port_in_redirect off;
location ~* ^/data/dir1/(.*)$ {
return 301 /data/dir2/;
}
...
它从 URL 重定向: 域名.com/data/dir1/... 到: domain.com:8000/data/dir2/...
如何去掉 URL 重定向中的 8000?
您可以使用不带端口号的绝对 URL:
return 301 http://domain.com/data/dir2/;
HAProxy 应该完成剩下的工作。