Servicios con docker - Configurar Nginx Proxy Manager
Con Nginx Proxy Manager ya instalado, se lo puede configurar para ingresar a través de un dominio y certificado SSL, sin necesidad de usar el puerto 81.
Configuraciones de Nginx Proxy Manager
-
Ir al navegador, colocar la IP del servidor + el puerto 81 (EJ: 1.2.3.4:81) e ingresar con el correo y contraseña elegidos.
-
Ir a la sección Proxy Hosts y seleccionar el botón Add Proxy Host
-
Completar los datos necesarios para configurar el dominio
1. Dominio elegido
2. Nombre del contenedor en el docker-compose.yml (ver publicación anterior)
3. Puerto interno del contenedor
-
Así es como debería verse en el listado al guardar con el botón Save
-
Comprobar en el navegador que funciona el dominio elegido, sin poner ningún puerto esta vez. En el ejemplo sería http://nginxproxymanager.midominio.com
-
Una vez comprobado que funciona a través del dominio hacer lo siguiente:
1. Deshabilitar el puerto 81 en el docker-compose.yml para que el puerto no siga expuesto, agregando el símbolo "#" delante de esa línea
2. Si el servidor tiene firewall y tuvo que habilitarse el puerto anteriormente para poder utilizarlo, hay que volver a deshabilitarlo, ya sea vía consola o vía panel de administración, según el servidor elegido
3. Detener y volver a levantar el contenedor para que tome el cambio:
docker compose down
docker compose up -d
Agregar certificado SSL
Una vez configurado y comprobado que funciona el dominio, se le puede agregar el certificado SSL, el cual se renovará automáticamente una vez en funcionamiento
-
Ir a la sección de edición del Proxy Host
-
Completar los datos necesarios para configurar el dominio
1. Elegir pestaña SSL
2. Solicitar un nuevo certificado SSL para el dominio elegido
3. Forzar que el navegador siempre redireccione a https, para evitar que se pueda usar http (inseguro)
4. Correo donde llegaría cualquier aviso de vencimiento o cambio en el certificado (al renovarse automáticamente, no debería llegar ninguno)
5. Aceptar términos y condiciones de Let's Encrypt
-
Guardar las configuraciones con el botón Save, puede demorar ya que hace el pedido de creación de certificado y tiene que validarlo
-
Si todo finaliza correctamente, así debería verse en el listado de Proxy Host
Finalización
-
Para comprobar que el certificado funciona junto con su redirección, volver a usar el dominio en el navegador y ver si da certificado válido y en vez http está en https. En el ejemplo sería http://nginxproxymanager.midominio.com y automáticamente debería redireccionar a https://nginxproxymanager.midominio.com.