Servidor Ubuntu reiniciado, ya no se puede acceder al sitio nginx desde el navegador

Servidor Ubuntu reiniciado, ya no se puede acceder al sitio nginx desde el navegador

Reinicié mi servidor Ubuntu esta mañana porque tenía lo que parecía ser un error de poca memoria (sucede ocasionalmente, no ha sido un problema suficiente para intentar solucionarlo). Pero ahora, ya no se puede acceder a mi sitio (que antes funcionaba bien) desde el navegador.

La configuración: estoy ejecutando un sitio NuxtJS usando pm2 para demonizarlo y nginx como proxy inverso. Tengo un gancho de git posterior a la recepción para poder enviarlo a mi repositorio de git remoto, que luego reconstruye la aplicación y reinicia la instancia de pm2.

Sólo puedo acceder a mi sitio desdedentro del servidor, dentro de una ventana de terminal. Lynx, wget y cURL funcionan e incluso siguen la redirección 301 a HTTPS. Y están funcionando cuando solicito el dominio en sí, no solo el localhost:3000 que recibe proxy inverso. Como en, curl https://my-domain.orgfunciona. Si intento curl/lynx/etc desde cualquier otra ventana de terminal, simplemente espera hasta que se agote el tiempo de espera. Lo mismo ocurre con el navegador: espera hasta que se agote el tiempo de espera.

Estas son las cosas que he probado/mirado:

  • Estoy usando UFW, así que verifiqué si el problema era el firewall. Pero 80, 443 y 8080 están configurados en PERMITIR.
  • Intenté ver si tal vez nginx no estaba escuchando de alguna manera, así que lo intenté sudo lsof -i -P -n | grep LISTEN. Aquí está el resultado de eso:
nginx     2896     root    6u  IPv4 668673557      0t0  TCP *:443 (LISTEN)
nginx     2896     root    7u  IPv4 668673558      0t0  TCP *:80 (LISTEN)
nginx     2897 www-data    6u  IPv4 668673557      0t0  TCP *:443 (LISTEN)
nginx     2897 www-data    7u  IPv4 668673558      0t0  TCP *:80 (LISTEN)
nginx     2898 www-data    6u  IPv4 668673557      0t0  TCP *:443 (LISTEN)
nginx     2898 www-data    7u  IPv4 668673558      0t0  TCP *:80 (LISTEN)
  • Intenté comprobar el archivo access.log de nginx. Todas mis solicitudes curl/wget/Lynx se muestran normalmente, pero ninguna de las solicitudes del navegador aparece. También eché un vistazo al error.log y obtuve esto:
2021/07/31 11:51:52 [emerg] 885#885: bind() to 0.0.0.0:443 failed (98: Address already in use)
2021/07/31 11:51:52 [emerg] 885#885: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/07/31 11:51:52 [emerg] 885#885: bind() to 0.0.0.0:443 failed (98: Address already in use)
2021/07/31 11:51:52 [emerg] 885#885: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/07/31 11:51:52 [emerg] 885#885: still could not bind()

Hasta ahora no he encontrado ninguna solución. Estoy desconcertado, porque lo que sea que haya cambiado, cambió debido a un reinicio. Cualquier idea es bien apreciada.

EDITAR para agregar algún resultado:

sudo systemctl status nginx:

● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2021-07-31 15:05:53 EDT; 27min ago
  Process: 6834 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status
  Process: 6840 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 6837 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 6841 (nginx)
   CGroup: /system.slice/nginx.service
           ├─6841 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
           ├─6842 nginx: worker process                           
           └─6843 nginx: worker process                           

Jul 31 15:05:53 parrot systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 31 15:05:53 parrot systemd[1]: Started A high performance web server and a reverse proxy server.

La salida de sudo nginx -Tes larga, por lo queLo hice una esencia.

Respuesta1

Esto es tan estúpido que no sé por qué fue un problema, por lo que se agradece cualquier opinión al respecto. Mis ufwconfiguraciones fueron/son las siguientes:

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
443/tcp                    ALLOW       Anywhere                  
80                         ALLOW       Anywhere                  
8080                       ALLOW       Anywhere                  
22 (v6)                    ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)             
443/tcp (v6)               ALLOW       Anywhere (v6)             
80 (v6)                    ALLOW       Anywhere (v6)             
8080 (v6)                  ALLOW       Anywhere (v6) 

Algunos 80 redundantes ahí, pero estaba agregando cosas adicionales para ver si ayudaba.

Alguien me recomendó que intentara desactivar ufw, sólo para asegurarme de que no fuera ese el problema. Al parecer así fue. Lo desactivé, el sitio comenzó a funcionar inmediatamente y cuando lo volví a habilitar, esperando que volviera a fallar,... todavía funciona. Entonces, era necesario reactivar algo sobre ufw cuando reinicié el servidor.

EDITAR: Esto puede deberse a iptables-persistent, que supongo que se instala automáticamente en la mayoría de los servidores. Parece que esel mismo problema que esta respuesta SO.

información relacionada