El proxy inverso de nginx reemplaza la URL por la dirección IP en sentido ascendente

El proxy inverso de nginx reemplaza la URL por la dirección IP en sentido ascendente

estoy usando nginx1.14.2como proxy inverso con la siguiente configuración

server {
        listen xxxxxxx:80;
        server_name xxxxxx;
        proxy_intercept_errors on;

        location /nodejs {
                proxy_pass https://nodejs.org;
                proxy_cache cache;
                proxy_cache_valid 200 301 302 30d;
                proxy_cache_valid 404 1m;
                expires 30d;
                proxy_ssl_server_name on;
                proxy_cache_use_stale error timeout invalid_header updating;
        }
}

Me estoy poniendo502 Puerta de enlace no válidaen el navegador:ingrese la descripción de la imagen aquí En los registros de errores de nginx, encontré la siguiente línea:

2020/12/10 11:23:23 [error] 16462#16462: *1 connect() failed (110: Connection timed out) while connecting to upstream, client: xxxxxxx, server: xxxxxxxx, request: "GET /nodejs HTTP/1.1", upstream: "https://104.20.23.46:443/nodejs", host: "xxxxxxxx"

Pero como hay un proxy en el backend, la URL con la dirección IP está bloqueada. ¿Tiene alguna idea de cómo forzar a nginx a usar el nombre de dominio en lugar de la dirección IP en sentido ascendente?

Gracias.

Editar: agregué la siguiente línea a la configuración de proxy_pass:

rewrite /nodejs/(.*) /dist  break;

Ahora el registro de errores es así:

2020/12/10 12:22:37 [error] 16541#16541: *1 connect() failed (110: Connection timed out) while connecting to upstream, client: xxxxxxx, server: xxxxxxxx, request: "GET /nodejs HTTP/1.1", upstream: "https://104.20.22.46:443/dist", host: "xxxxxxx"

Respuesta1

Necesita esta directiva: proxy_ssl_server_name on;
el valor predeterminado está desactivado.

http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_server_name

información relacionada