2016-04-15 237 views
1

我想條紋域的一部分,通過它的反向代理nginx的反向代理條紋域

server { 
server_name *.dr.domain.com; 
listen X.X.X.; 

set $headerDR $host; 

location/{ 
    proxy_set_header Accept-Encoding ""; 
    proxy_set_header Host "DOMAIN WITHOUT .dr.domain.com"; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_pass http://x.x.x.x; 

    sub_filter "DOMAIN WITHOUT .dr.domain.com" "$headerDR"; 
    sub_filter_once off; 

} 

如何能做到這一點嗎?

回答

0

如果您使用server_name指令的正則表達式版本,則可以使用命名捕獲來提取所需的部分域。

例如:

server_name ~^(?<subdomain>.*)\.dr\.domain\.com$; 
proxy_set_header Host $subdomain; 

詳見this document