# Define a versão do protocolo HTTP que o Nginx usará ao se comunicar com o servidor upstream. # Neste caso, está definido para a versão 1.0. proxy_http_version 1.1; # Essa configuração instrui o Nginx a ignorar o cache quando a solicitação do cliente contém o # cabeçalho "Upgrade" no valor do cabeçalho "Connection". Isso é útil para evitar problemas com # atualizações de protocolo, como as usadas no WebSocket, que exigem que as solicitações passem # diretamente para o servidor upstream sem usar o cache. proxy_cache_bypass $http_upgrade; # Proxy SSL # Essa configuração informa ao Nginx para usar o nome do servidor SSL do cabeçalho Host quando # estabelecer conexões SSL/TLS com o servidor upstream. Isso é útil em cenários em que o servidor # upstream usa o nome do host para configurar corretamente os certificados SSL/TLS. proxy_ssl_server_name on; # Proxy headers # Define o cabeçalho "Upgrade" da solicitação do cliente com o mesmo valor que o cliente enviou. # Isso é importante para permitir atualizações de protocolo, como no caso do WebSocket. proxy_set_header Upgrade $http_upgrade; # Define o cabeçalho "Connection" da solicitação do cliente com o mesmo valor que o cliente enviou. # Isso é importante para permitir atualizações de protocolo, como no caso do WebSocket. proxy_set_header Connection $connection_upgrade; # Define o cabeçalho "X-Real-IP" da solicitação para o endereço IP real do cliente. # Essa configuração pode ser útil para o servidor upstream identificar o IP real do cliente, # especialmente quando o Nginx está atrás de outro proxy ou balanceador de carga. proxy_set_header X-Real-IP $remote_addr; # Define o cabeçalho "Forwarded" da solicitação com informações sobre a cadeia de proxies # intermediários. O valor é obtido a partir da variável $proxy_add_forwarded, que foi definida # anteriormente usando a diretiva map. proxy_set_header Forwarded $proxy_add_forwarded; # Define o cabeçalho "X-Forwarded-For" da solicitação com informações sobre o endereço IP do # cliente e dos proxies intermediários. O valor é obtido a partir da variável $proxy_add_x_forwarded_for, # que foi definida anteriormente usando a diretiva map. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # Define o cabeçalho "X-Forwarded-Proto" da solicitação com o valor do esquema (HTTP ou HTTPS) da # conexão do cliente. Isso é útil para que o servidor upstream saiba se a conexão é segura (HTTPS). proxy_set_header X-Forwarded-Proto $scheme; # Define o cabeçalho "X-Forwarded-Host" da solicitação com o valor do host fornecido pelo cliente. # Isso é útil para que o servidor upstream saiba o host que o cliente está tentando acessar. proxy_set_header X-Forwarded-Host $host; # Define o cabeçalho "X-Forwarded-Port" da solicitação com o valor da porta do servidor Nginx em # que a conexão do cliente chegou. Isso pode ser útil para o servidor upstream conhecer a porta # original da solicitação do cliente. proxy_set_header X-Forwarded-Port $server_port; # Proxy timeouts # Define o tempo limite (timeout) para a fase de estabelecimento da conexão com o servidor # upstream (estabelecer a conexão TCP). Neste caso, está configurado para 60 segundos. proxy_connect_timeout 60s; # Define o tempo limite (timeout) para o envio de dados para o servidor upstream # (enviar a solicitação). Neste caso, está configurado para 60 segundos. proxy_send_timeout 60s; # Define o tempo limite (timeout) para a leitura da resposta do servidor upstream. # Se o servidor upstream não responder dentro desse período, o Nginx interromperá a # conexão. Neste caso, está configurado para 60 segundos. proxy_read_timeout 60s;