在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/;
}
}
问题解决了么?
我以前测试是可以用的啊
没有,以前也这么设置过,不记得是怎么写的