nginx反向代理条带域

时间:2016-04-15 11:20:20

标签: nginx url-rewriting

我试图对部分域进行条带化以在反向代理中传递它

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;

}

怎么能这样做?

1 个答案:

答案 0 :(得分:0)

如果使用server_name指令的正则表达式版本,则可以使用命名捕获来提取所需域的部分。

例如:

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

有关详细信息,请参阅this document