2011-11-13 22 views
0

我使用nginx作爲4個內部服務器實例的負載平衡器。下面的nginx.conf只能爲www.mydomain.com正常工作。但不適用於mydomain.com或http://mydomain.com這個nginx.conf有什麼問題?

upstream mydomain{ 
    server 127.0.0.1:8000; 
    server 127.0.0.1:8001; 
    server 127.0.0.1:8002; 
    server 127.0.0.1:8003; 
} 

server { 
    listen 80; 
    server_name www.mydomain.com; 
    location/{ 
    proxy_pass http://mydomain; 
    } 
} 

回答

0

這是正常的,它不爲mydomain.com,因爲server_name www.mydomain.com工作。

我不是nginx專家,但嘗試省略server_name。

+0

同樣的結果 - 只適用於www.mydomain.com – mkrecny

+0

發佈您的完整ngninx配置,並告訴我們您的意思是「唯一的作品」。在其他域上會發生什麼?另外,如果您更改www.mydomain.com for mydomain.com,mydomain.com會開始工作會發生什麼? – alexpirine

0

我想你可以試試這個:

server { 
    listen 80; 
    server_name www.mydomain.com mydoamin.com; 
    location/{ 
    proxy_pass http://mydomain; 
    } 
} 

至少我發現在docs

+0

同樣的結果 - 只適用於www.mydomain.com。 – mkrecny

0

所有網絡服務器這一解決方案將只爲你配置域工作。在這種情況下,您添加的唯一域名是www.mydomain.com,因此它只會「工作」地址www.mydomain.com。

如果希望所有子域名的工作,你需要在mydomain.com前面的通配符如下所示:

server { 
    listen 80; 
    server_name .mydomain.com; 
    location/{ 
    proxy_pass http://mydomain; 
    } 
} 

通知的。在mydomain.com之前。