Sí. El proxy solo necesita acceso enrutable, autenticado y limitado por políticas a cada upstream; las aplicaciones no necesitan compartir el host del proxy.
Esto se convierte en una cuestión real de compatibilidad cuando un único punto de entrada HTTPS dirige dominios del hogar a aplicaciones en varios servidores LAN o VLAN. Empieza con una ruta o cuenta desechable, conserva disponible el estado anterior que funciona y evalúa el diseño según la carga de trabajo original, no según una prueba de conexión única.
Define cuándo puede funcionar el proxy inverso multi-host
La opción compatible utiliza direcciones upstream explícitas con políticas de estado, TLS y firewall. La opción opuesta incluye backends no enrutables, errores con encabezados de confianza o una exposición amplia de la red de administración. Registra las versiones, identidades, direcciones, rutas de montaje, permisos y el estado observable actual antes de cambiar cualquiera de las dos opciones.
El proxy upstream de NGINX relevante define el primer límite de compatibilidad. Úsalo para acotar la afirmación y, después, verifica el mismo comportamiento en este servidor doméstico exacto en lugar de tratar una función documentada como prueba de que todo el diseño funciona.
Escribe la regla de decisión antes de probar: el éxito debe hacer que cada nombre de host llegue únicamente a su backend previsto y que un upstream fallido devuelva un error acotado sin afectar a los demás; el fallo incluye la aparición de bucles de redirección, errores de WebSockets, falsificación de la IP del cliente o la capacidad del proxy para acceder a puertos de administración no relacionados. Esto evita interpretar una conexión parcial o una salida limpia del comando como compatibilidad de extremo a extremo.
Ejecuta la prueba más pequeña que permita distinguir los diseños
Usa un único elemento de discriminación controlado: añade un upstream cada vez, prueba la accesibilidad directa desde el proxy y, después, verifica los encabezados Host, WebSockets, redirecciones, gestión de la IP del cliente y el fallo del backend. Mantén constantes el cliente, la carga de trabajo, el conjunto de archivos, la cuenta y el momento para que el componente modificado sea la única explicación plausible.
Usa el proxy inverso de Caddy para elegir la segunda observación importante para esta ruta. Captura ambos lados de la transacción: resolución o ruta, protocolo negociado, identidad del proceso, estado de salida, latencia, bytes transferidos y cualquier evento de recuperación.
Repite la prueba después del evento del ciclo de vida indicado en el título: recreación, reconexión, remontaje, reinicio, conmutación por error o cambio de cliente. Un diseño que solo funciona mientras los sockets, cachés o credenciales antiguos permanecen activos no ha superado la prueba.
curl -vk --resolve app.home:443:PROXY_IP https://app.home/
# prueba WebSocket, carga, redirección y caída del backend
Interpreta las señales de éxito, fallo y excepción
ÉXITO: cada nombre de host llega únicamente a su backend previsto y un upstream fallido devuelve un error acotado sin afectar a los demás. Guarda las versiones exactas y la topología que produjeron este estado, porque la conclusión se aplica a esas condiciones, no a todas las implementaciones del protocolo.
FALLO: aparecen bucles de redirección, los WebSockets fallan, se falsifica la IP del cliente o el proxy puede acceder a puertos de administración no relacionados. Comprueba las dependencias compartidas, como DNS, MTU, identidad, estado del firewall, latencia del almacenamiento y sesiones almacenadas en caché, antes de atribuir la responsabilidad a cualquiera de las opciones principales.
EXCEPCIÓN: elimina la ruta, restaura la configuración anterior del proxy y limita las reglas de enrutamiento, confianza y firewall antes de volver a intentarlo. No amplíes privilegios, elimines datos de origen, debilites la seguridad del transporte ni sustituyas el almacenamiento funcional hasta que una observación reproducible identifique qué límite falló.
Valida la decisión con la carga de trabajo real
Aplica únicamente la acción correspondiente a la opción observada y, después, vuelve a ejecutar la carga de trabajo original. Conserva el diseño solo cuando cada nombre de host llegue únicamente a su backend previsto y un upstream fallido devuelva un error acotado sin afectar a los demás durante dos ciclos de vida relevantes y con la carga simultánea esperada.
Usa las redes de backend del proxy inverso para verificar el flujo de trabajo dependiente más cercano. Su acceso, tiempos y comportamiento de recuperación deben permanecer sin cambios mientras el nuevo diseño esté activo.
Detente y vuelve al estado guardado si aparecen bucles de redirección, fallan los WebSockets, se falsifica la IP del cliente o el proxy puede acceder a puertos de administración no relacionados. Escala el problema con marcas de tiempo, versiones exactas, evidencias de rutas o montajes y la reproducción mínima, en lugar de añadir otra solución provisional.
Contrasta el resultado con las rutas de servicio independientes para que el riesgo no se traslade simplemente a otra capa de red, identidad, copia de seguridad o almacenamiento.
Por tanto, para el proxy inverso multi-host, la respuesta matizada es la valoración inicial, no un sí incondicional. El estado observable de éxito es la línea de aceptación; el estado de fallo es la línea de reversión.
Preguntas frecuentes
¿El backend debe exponer un puerto público?
No. Solo necesita un listener privado accesible desde el proxy y permitido por el firewall del backend.
¿El tráfico del proxy al backend también debería usar TLS?
Úsalo cuando la ruta LAN o VLAN no sea completamente confiable o cuando sea necesario verificar la identidad del backend.
¿Puede un servidor fallido interrumpir todas las aplicaciones proxy?
No debería; prueba el tiempo de espera y el aislamiento de fallos para que un upstream inactivo devuelva únicamente su propio error.
Soporte y Consejos
Más para leer

¿Puede una galería autoalojada conservar el emparejamiento de las Live Photos de Apple?
Una decisión condicional sobre un servidor doméstico para emparejar Apple Live Photo, con pruebas controladas, interpretación de resultados, reversión y preguntas frecuentes específicas.

¿Puedes importar Google Takeout y las copias de seguridad del teléfono en una sola biblioteca de fotos?
Una decisión condicional sobre un servidor doméstico para la importación combinada de fotos, con pruebas controladas, interpretación de resultados, reversión y preguntas frecuentes específicas.

¿Puede Immich usar una biblioteca externa sin hacerse cargo de los archivos?
Una decisión condicional sobre el servidor doméstico para la propiedad de bibliotecas externas de Immich, con pruebas controladas, interpretación de resultados, reversión y preguntas...

