
Mi situación:
Tengo tres servidores Ubuntu, un enrutador NAT, tres nombres de dominio y tres sitios web Apache. Los dos dominios Ipadress son la IP WAN para el enrutador NAT. Todo el tráfico https de Internet se reenvía al servidor uno. Cada servidor tiene su propio certificado para su propio sitio web.
Alguien intenta conectarse:
Si el nombre de host solicitado es el nombre de host para el sitio web 1. El servidor 1 muestra el sitio web 1. Si el nombre de host solicitado es para el sitio web 2 o 3. Entonces el servidor 1 reenvía la conexión al servidor 2 o 3. El servidor 2 o 3 muestra el sitio web 2 o 3 .
Recuerde que el servidor 1 no tiene las claves para el servidor 2 o 3.
Tengo dos preguntas.
- ¿Es esto posible sin cometer errores como el hombre en el medio?
- Cómo editar la configuración de Apache para que esto funcione.
Investigación:
Busqué en Google cómo reenviar solicitudes https a otros hosts https. La mayoría de las respuestas es que el servidor 1 tiene todos los certificados y claves públicos. y que necesita crear otro certificado y clave para el servidor 2 o 3 (en mi caso, un certificado autofirmado). Pero no quiero que el servidor 1 tenga la clave privada para el servidor 2 o 3. Debido a que la ip pública para el servidor 1, 2 o 3 es la misma, es posible que el servidor 1 no tenga las claves privadas.
También descubrí cómo puedes tener múltiples hosts virtuales https en un servidor con diferentes certificados. No porque cada servidor tiene su propio sitio web.
¿Alguien me puede ayudar?
Respuesta1
Esto se puede lograr usando ApacheProxy inversocaracterística. En la configuración de Apache del Servidor 1, crearía VirtualHost
definiciones usando el nombre de host y las configuraciones SSL para los sitios en los Servidores 2 y 3, que ProxyPass
se usarían para enviar las conexiones a esos servidores a través del Servidor 1.
Un método alternativo sería ejecutar algo como NGINX frente a los tres servidores, hacer que su tráfico HTTP/HTTPS sea NAT a NGINX y configurarlo para realizar terminación SSL yproxy inversopara los tres servidores.