2012-11-29 45 views
23

在我的nginx的conf文件,我有:如何讓nginx的聽服務器名:端口

listen  80; 
    server_name $hostname; 

但是如果我做netstat的我看到它在0.0.0.0:80

聽我想要發生的事情是nginx監聽$ hostname:80,有沒有辦法配置它來做到這一點?

到目前爲止,我嘗試了不同的設置,但沒有成功。感謝你的幫助。

回答

36

server_namedocs指令用於標識虛擬主機,它們不用於設置綁定。

netstat告訴你nginx監聽0.0.0.0:80這意味着它將接受來自任何IP的連接。

如果要更改IP nginx綁定,則必須更改規則的listendocsdocs規則。
所以,如果你想設置Nginx的結合localhost,你會改變,要:

listen 127.0.0.1:80 

這樣,未來自本機丟棄請求(他們甚至不打nginx的)。

+0

我想問問爲什麼給localhost作爲listen ip,也就是說我們不希望從輸出世界接收到請求嗎? – ransh

+0

是的,這就是原因。對於地方發展來說,情況通常如此。例如,在遠程服務器上,您可以執行類似操作來防止「外部」字訪問站點,從而將訪問權限限制爲只能訪問服務器的SSH訪問權限。 –