Solicitud GET de nginx con el nombre del servidor interno en lugar del nombre de dominio público

Solicitud GET de nginx con el nombre del servidor interno en lugar del nombre de dominio público

He configurado un proxy inverso nginx con Ubuntu Server 22.04 LTS. La aplicación web Abacus debe ser accesible conhttps://abacus.contoso.comdesde Internet. El nombre del servidor interno es srv06. Mi configuración actual se ve así (básicamente es la plantilla oficial de Abacus):

server {
    listen 443 ssl;
    server_name abacus.contoso.com;

    ssl_certificate /etc/nginx/ssl_certs/cert.pem;
    ssl_certificate_key /etc/nginx/ssl_certs/cert.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_protocols TLSv1.2;
    ssl_prefer_server_ciphers  on;

    location / {
            root   html;
            index  index.html index.htm;
            resolver 127.0.0.53;
            proxy_pass https://abacus.contoso.com:40001$uri$is_args$query_string;
            proxy_redirect https://abacus.contoso.com:40001/ https://$host/;
            proxy_set_header Host abacus.contoso.com;

            client_max_body_size 0;
            proxy_connect_timeout 90s;
            proxy_send_timeout 90s;
            proxy_read_timeout 90s;
            send_timeout 90s;
    }
}

Se puede acceder al sitio web y el inicio de sesión funciona básicamente. El problema es la aplicación web que se inicia en el propio sitio web. Después de iniciar sesión, se descarga un archivo .abalink y se inicia con el software AbaClient. Este AbaClient intenta acceder al servidor con la URIhttps://abacus.contoso.coma través del proxy, lo cual es correcto, pero parece que nginx o el servidor interno responden a la solicitud con el nombre del servidor interno srv06 en lugar del nombre de dominio. Este es el mensaje de error que recibo: "Error en la solicitud GET al servidor Abacus (srv06)".

¿Falta algo en mi código? Soy relativamente nuevo en nginx, así que espero que alguien pueda ayudarme.

¡Gracias!

Respuesta1

No estoy seguro de por qué uno usaría esta configuración de proxy demasiado complicada en lugar de una simple predeterminada.

Prueba esto:

    location / {
            proxy_pass https://abacus.contoso.com:40001;
            proxy_set_header Host abacus.contoso.com;

            client_max_body_size 0;
            proxy_connect_timeout 90s;
            proxy_send_timeout 90s;
            proxy_read_timeout 90s;
            send_timeout 90s;
    }

información relacionada