鍍金池/ 問答/Linux  網絡安全/ nginx動態(tài)轉發(fā)

nginx動態(tài)轉發(fā)

有一堆網站跑在國外的服務器上(多臺),都是二級域名,如:a.abc.com、b.abc.com、c.abc.com。
因為國內訪問經常出現(xiàn)不穩(wěn)定的情況,因此想在國內搭建一個代理服務器(純流量的事情,因此只考慮一臺),使用abc.cn域名,盡量不去動國外的服務器。比如訪問a.abc.cn的時候自動代理到a.abc.com,使用b.abc.cn的時候自動代理到b.abc.com上。
計劃用nginx來進行配置,一臺一臺配置是能夠解決的,但是因為網站太多了,而且后期還在逐漸增加,能不能有簡單點的方法來配置,如偽代碼類似這樣的:

server{
    listen 80;
    server_name {1}.abc.cn;
    location /{
        proxy_set_header Host {1}.abc.cn;
        proxy_pass http://{1}.abc.com;
    }
}
回答
編輯回答
不討喜
server{
    listen            80;
    server_name       ~^(.+)\.abc\.cn$;
    location / {
        proxy_set_header        Host $1.abc.cn;
        proxy_redirect          off;
        # proxy_set_header      Accept-Encoding gzip;
        resolver                114.114.114.114;
        proxy_pass              http://$1.abc.com;
    }
}

用正則匹配server_name并捕獲即可。

2017年1月29日 16:47