У меня есть 1 основной IP и один вторичный IP. Вторичный IP предназначен для специального веб-сервера Go, который слушает только этот 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