技术解析

求一个 Nginx 下泛域名反代的规则
0
2021-05-27 20:50:45
idczone
在nginx下,用泛域名反代泛域名,
类似这样的:
it.x.123.com 反代 it.y.abc.com
news.x.123.com 反代 news.y.abc.c国外服务器om
......
*.x.123.com 反代 *.y.abc.com
这样的规则应该怎么写呢?
谢谢大家!
rewrite 写个正则匹配?

server{
server_name ~^(?.+)\.x\.123\.com$;
...
location / {
set $hostbase '.y.abc.com';
set $host2proxy $prefix$hostbase ;
proxy_pass $host2proxy;
....
}
}

i will be glad if works...

首先 server_name ~^it\.(?[^\.]+)\.123\.com$;
然后 proxy_pass http://it.$subdomain.abc.com/;
大功告成

https://code.google.com/p/7ghost/
这个应该可以 不过好像停止开发了

500错误了

server {
listen [::]:80;
server_name *.x.123.com;
location / {
if ($host ~* ^(.*).x.123.com$) {
set $domain $1;
proxy_pass http://$domain.y.abc.com;
}
}
}

也不行,500错误

Nginx反代效率高一些 :)

没道理啊 500时候的日志是什么?这个我以前测试过。

113.110.xxx.xxx - - [03/Apr/2014:16:03:01 +0800] "GET /favicon.ico HTTP/1.1" 502 568 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36"

现在测试是502


我这也是这个情况502错误,请问他的问题解决了吗?
server {
listen 80;
server_name ~^(www\.)?(?.+)\..+$;
index index.php index.html index.htm;
location / {
proxy_pass http://$domain.xxx.com/;
}
}

问题解决了么?

我以前测试是可以用的啊

没有,以前也这么设置过,不记得是怎么写的

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服