Nginx proxy_pass a IP pero usa HTTPS

Nginx proxy_pass a IP pero usa HTTPS

Tengo un servidor heredado que está protegido mediante un certificado SSL para example.com. Quiero poner otro servidor delante de este para proxy_passcierto tráfico (heredado). El nuevo servidor también debe estar expuesto example.com.

Si estuvieran en dominios separados ( legacy.example.comy example.com), simplemente podría hacerlo proxy_pass https://legacy.example.com. Sin embargo, la aplicación heredada está repleta de example.comURL codificadas (y solo tiene un certificado SSL para example.com). Cualquier otra URL (la IP, por ejemplo) redirigirá a example.com.

Lo que quiero hacer es proxy_pass <legacy IP>configurar el encabezado del host con proxy_set_header Host example.com. Pero el problema es que esto no utiliza HTTPS.

Hice algo hace un tiempo con curl, pude conectarme a un servidor por su IP, pero especificé el dominio a usar para el certificado. Aunque no había ningún Aregistro para example.comasignar esta IP, pude engañarlo haciéndole creer que estaba conectado mediante ese dominio.

curl https://example.com/path --resolve example.com:<IP>

¿Hay algo como esto en Nginx?

Respuesta1

Yo no lo he usado, pero parece que proxy_ssl_namepodría ser lo que estás buscando:

Por ejemplo:

proxy_set_header Host example.com;
proxy_ssl_name        example.com;
proxy_pass            https://1.2.3.4;

Vereste documentopara detalles.

información relacionada