@ -1,5 +1,15 @@
# Con Nginx Proxy Manager delante
[Nginx Proxy Manager ](https://nginxproxymanager.com/ ) es un Nginx con panel web:
en vez de escribir archivos de configuración a mano, se dan de alta los dominios
desde un formulario y él pide los certificados de Let's Encrypt y los renueva
solo. Se suele montar como contenedor y hace de puerta única para todo lo que se
publica desde una red.
> **Ojo con la abreviatura.** En este proyecto `npm` es el gestor de paquetes de
> Node, el de `npm run dev` . No tienen nada que ver, así que aquí el proxy se
> escribe siempre con el nombre entero.
Este es el montaje cuando quien recibe del exterior no es el Nginx de la propia
máquina, sino un **Nginx Proxy Manager** en otro sitio de la red:
@ -7,7 +17,7 @@ máquina, sino un **Nginx Proxy Manager** en otro sitio de la red:
internet → router (80, 443) → Nginx Proxy Manager → 192.168.18.171:3000 → Node
```
Con N PM delante, **el Nginx de la máquina de la web sobra** . Se puede dejar
Con Proxy Manager delante, **el Nginx de la máquina de la web sobra** . Se puede dejar
instalado sin más, pero no tiene que estar en medio: `adapter-node` ya sirve los
estáticos con sus cabeceras de caché correctas, y meter un segundo proxy solo
añade un salto y complica el recuento de direcciones IP, que sí importa (ver más
@ -47,17 +57,17 @@ dig +short www.senzapaura.es @1.1.1.1
## 2. Router
Redirigir al equipo donde corre N PM:
Redirigir al equipo donde corre Proxy Manager :
```
80 TCP → < IP de N PM> :80
443 TCP → < IP de N PM> :443
80 TCP → < IP de Proxy Manager > :80
443 TCP → < IP de Proxy Manager > :443
```
El 80 hace falta aunque todo vaya por HTTPS: es por donde Let's Encrypt hace su
comprobación.
## 3. El proxy, en N PM
## 3. El proxy, en Proxy Manager
**Hosts → Proxy Hosts → Add Proxy Host**
@ -79,7 +89,7 @@ vieja de la web después de un despliegue.
En la pestaña **SSL** : «Request a new SSL Certificate», con **Force SSL** y
**HTTP/2** encendidos.
En **Advanced** , nada. En particular, no hace falta tocar las cabeceras: N PM ya
En **Advanced** , nada. En particular, no hace falta tocar las cabeceras: Proxy Manager ya
manda `X-Forwarded-For` , `X-Forwarded-Proto` y `X-Forwarded-Host` .
## 4. El `.env` del servidor
@ -128,7 +138,7 @@ curl -I http://192.168.18.171:3000/
```
Si eso no contesta 200, el problema está en el servidor y no en el DNS ni en
N PM, y es ahí donde hay que mirar:
Proxy Manager , y es ahí donde hay que mirar:
```sh
journalctl -u senzapaura -n 50 --no-pager