如何在不添加端口号的情况下redirect到NginX?

我需要使用nginx将整个目录的内容redirect到另一个目录。 虽然我的configuration工作,但不幸的是也暴露了端口号。 这是我现在猜测一个副作用,因为特定域的入站stream量通过HAProxy ACL规则处理到8000端口,而URL本身是端口80。

这是我的nginx conf:

server { listen 8000; port_in_redirect off; location ~* ^/data/dir1/(.*)$ { return 301 /data/dir2/$1; } ... 

它从URLredirect:

domain.com/data/dir1 / …

至:

domain.com:8000/data/dir2 / …

我怎么能摆脱URLredirect内的8000?

我有的tmp解决方法是把80redirect,但我担心,这将影响谷歌列出的url,因为它包括一个端口号。

你可以尝试以下几点:

 server { listen 8000; location ~* ^/data/dir1/(.*)$ { return 301 http://example.com/data/dir2/$1; }