Solicitação nginx GET com nome de servidor interno em vez de nome de domínio público

Solicitação nginx GET com nome de servidor interno em vez de nome de domínio público

Configurei um proxy reverso nginx com Ubuntu Server 22.04 LTS. A aplicação web Abacus deve estar acessível comhttps://abacus.contoso.comda internet. O nome do servidor interno é srv06. Minha configuração atual é assim (é basicamente o modelo oficial do 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;
    }
}

O site é acessível e o login funciona basicamente. O problema é o aplicativo da web que é iniciado no próprio site. Após o login, um arquivo .abalink é baixado e iniciado com o software AbaClient. Este AbaClient tenta acessar o servidor com o URIhttps://abacus.contoso.compelo proxy - o que é correto - mas parece que o nginx ou o servidor interno responde à solicitação com o nome do servidor interno srv06 em vez do nome de domínio. Esta é a mensagem de erro que recebo: "Falha na solicitação GET para o servidor Abacus (srv06)".

Há algo faltando no meu código? Sou relativamente novo no nginx, então espero que alguém possa me ajudar.

Obrigado!

Responder1

Não sei por que alguém usaria essas configurações de proxy complicadas em vez de uma configuração padrão simples.

Experimente isto:

    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;
    }

informação relacionada