有没有办法反向代理随机子域

时间:2019-07-29 17:24:52

标签: node.js nginx reverse-proxy nginx-reverse-proxy

我正在尝试将对我的服务器X1.site.com的所有请求反向代理到另一个服务器,例如X1.site2.net,其中X1是随机的子域名,每次都会出现

我不知道如何使用Node.js做到这一点,所以我在使用Nginx

location /proxy {
    proxy_bind 127.0.0.1;
    proxy_pass http://site2.com/proxy/;
}

但是它不适用于动态子域

我要达到的目标是(X1,X2,X3).site.com子域,只需将其添加到目标站点即可成为(X1,X2,X3).site2.net因此代码应类似于

location X1.site.com {      //whatever the subdomain are take it and 
                            //pass it to proxy_pass 

    proxy_bind 127.0.0.1;
    proxy_pass X1.site2.net;       
}

1 个答案:

答案 0 :(得分:0)

要将代理something.example.com反向转换为something.example.net,您需要使用regular expression server_name statement捕获部分域名。

例如:

server {
    server_name  "~^(?<name>.+)\.example\.com$";

    location / {
        resolver ...;
        proxy_pass http://$name.example.net;
    }
}

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