2016-10-28 174 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; 
     } 
}