我有 1 個主 IP 和 1 個輔助 IP。輔助 IP 適用於特殊的 Go Web 伺服器,該伺服器僅偵聽此 IP,原因與此問題無關。
不幸的是它不起作用,因為 Nginx 決定監聽全部IP,因此我的自訂網路伺服器無法綁定到該 IP 和連接埠。我不能使用不同的端口,它必須是這個端口...這就是為什麼我購買了第二個 IP 位址,用於此專用目的。
如何讓 Nginx 只監聽主 IP 而不是所有 IP?
我使用的是 Ubuntu 18.04。
答案1
這是僅適用於 http 的範例配置。 https 並沒有真正的區別:
server {
#This is the important listen block to specify:
listen <ip-address>:80;
server_name example.com;
root /var/www/html;
index index.html index.php;
location / {
try_files $uri $uri.html $uri/ /index.html;
}
error_page 404 /404.html;
}
如果您的配置中有此內容,您可以將其刪除以停用 ipv6(如果您願意):
listen [::]:80 default_server
如果您隨後使用 netstat 進行測試:
test@computer:/etc/nginx/conf.d# netstat -na | grep -i "Listen" | grep ":80"
tcp 0 0 <ip-address>:80 0.0.0.0:* LISTEN