Redirect 如何使用NginX进行301重定向而不添加端口号?
我需要使用nginx将整个目录的内容重定向到另一个目录。当我的配置工作时,不幸的是它还公开了端口号。我想这是一个副作用,因为特定域的入站流量是通过HAProxy ACL规则处理到8000端口的,而url本身是端口80 这是我的nginx配置:Redirect 如何使用NginX进行301重定向而不添加端口号?,redirect,nginx,http-status-code-301,Redirect,Nginx,Http Status Code 301,我需要使用nginx将整个目录的内容重定向到另一个目录。当我的配置工作时,不幸的是它还公开了端口号。我想这是一个副作用,因为特定域的入站流量是通过HAProxy ACL规则处理到8000端口的,而url本身是端口80 这是我的nginx配置: server { listen 8000; port_in_redirect off; location ~* ^/data/dir1/(.*)$ { return 301 /data/dir2/
server {
listen 8000;
port_in_redirect off;
location ~* ^/data/dir1/(.*)$ {
return 301 /data/dir2/$1;
}
...
它从URL重定向:
domain.com/data/dir1/。。。
致:
domain.com:8000/data/dir2/
如何摆脱URL重定向中的8000?您可以使用不带端口号的绝对URL:
return 301 http://domain.com/data/dir2/$1;
HAProxy应完成其余工作。您可以使用不带端口号的绝对URL:
return 301 http://domain.com/data/dir2/$1;
HAProxy应该做剩下的。你试过返回301了吗http://domain.com/data/dir2/$1;代码>?我想HAProxy应该在这种情况下正确地代理Nginx是的,这很有效。谢谢,不客气。我会把答案贴出来,让问题完整。你试过返回301了吗http://domain.com/data/dir2/$1;代码>?我想HAProxy应该在这种情况下正确地代理Nginx是的,这很有效。谢谢,不客气。我会把答案贴出来,让问题完整。