メイン IP が 1 つとセカンダリ IP が 1 つあります。セカンダリ IP は、この質問とは無関係な理由でこの IP のみをリッスンする特別な Go Web サーバー用です。
残念ながら、Nginxがリッスンすることにしたため、動作しません。全てIP なので、カスタム Web サーバーはその IP とポートにバインドできません。別のポートを使用することはできず、このポートを使用する必要があります... そのため、この専用目的のために 2 番目の 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