2016-10-28 181 views
0

目前我能够做到需要从服务器A到服务器B的重定向,两个监听端口80默认/位置。Nginx从域A端口8080转发到域B端口80

我需要的是发送到服务器的所有请求的额外向前端口8080非默认位置/ LOC1到服务器B端口80(下同)位置/ LOC1

server { 
    listen 80; 
    server_name 1.1.1.1; 
    return 301 $scheme://1.1.1.2$request_uri; 
} 

这是仅通过增加可行额外的服务器部分如下?

编辑:

server { 
    listen 8080; 
    server_name 1.1.1.1; 

    location /loc1 { 
     return 301 $scheme://1.1.1.2:80$request_uri; 
    } 
} 

任何帮助表示赞赏。

编辑:有两个以上的“服务器”部分在配置工作完美无瑕。

回答

1

是的,您需要一个额外的服务器模块才能在8080上收听。在您提供的第二个配置中,我认为存在拼写错误。 8080不应在server_name。此外,如果有返回声明,则意味着全部请求将会被重定向到1.1.1.2:80。如果您只想重定向,如果/loc1在URI中,则添加一个位置块,如下所示:

server{ 
     listen 8080; 
     server_name 1.1.1.1; 

     #rest of your config 

     location /loc1 { 
      return 301 $scheme://1.1.1.2:80$request_uri; 
     } 
}