Остановить прослушивание nginx на всех IP-адресах?

Остановить прослушивание nginx на всех IP-адресах?

У меня есть 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  

Связанный контент