Parar de escutar o nginx em todos os IPs?

Parar de escutar o nginx em todos os IPs?

Eu tenho 1 IP principal e um IP secundário. O IP secundário destina-se a um servidor web Go especial que escuta apenas neste IP por um motivo que é irrelevante para esta questão.

Infelizmente não funciona porque o Nginx decidiu ouvirtodosIPs e, portanto, meu servidor da web personalizado não pode se vincular a esse IP e porta. Não posso usar uma porta diferente, tem que ser essa porta... por isso comprei um segundo endereço IP, exclusivo para esse fim.

Como faço para que o Nginx escute apenas no IP principal em vez de em todos os IPs?

Estou no Ubuntu 18.04.

Responder1

Aqui está um exemplo de configuração apenas para http. HTTPS realmente não difere:

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;
}

Se você tiver isso em sua configuração, poderá removê-lo para desativar o ipv6 se desejar:

listen [::]:80 default_server

Se você testar com 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  

informação relacionada