Esta tradução fornecida pelo StrongLoop / IBM.
Este documento pode estar desatualizado em relação à documentação em Inglês. Para obter as atualizações mais recentes, consulte a documentação em Inglês.Ao executar um aplicativo do Express atrás de um proxy,
configure (usando app.set()) a variável do
aplicativo trust proxy
para um dos valores
listados na seguinte tabela.
Apesar de a execução do aplicativo não falhar se a variável do
aplicativo trust proxy
não estiver configurada,
ele irá registrar incorretamente o endereço de IP do proxy como o
endereço de IP do cliente a não ser que o trust
proxy
esteja configurado.
Tipo | Valor |
---|---|
Booleano |
Se Se |
Endereços IP |
Um endereço de IP, sub-rede, ou uma matriz de endereços de IP e sub-redes confiáveis. A lista a seguir mostra os nomes de sub-rede pré-configurados:
É possível configurar endereços de IP de qualquer uma das formas a seguir:
Quando especificados, os endereços de IP ou sub-redes são excluídos do processo de determinação de endereço, e o endereço de IP não confiável mais próximos do servidor de aplicativos é determinado como o endereço de IP do cliente. |
Número |
Confia no |
Função |
Implementação de confiança customizada. Use apenas se souber o que está fazendo.
|
Configurando um valor não-false
para o
trust
proxy
resulta em três mudanças importantes:
O valor de req.hostname é
derivado do valor configurado no cabeçalho
X-Forwarded-Host
, que pode ser configurado pelo
cliente ou pelo proxy.
X-Forwarded-Proto
pode ser
configurado pelo proxy reverso para dizer ao aplicativo se ele é
https
ou http
ou até um nome
inválido. Este valor é refletido pelo req.protocol.
Os valores req.ip e
req.ips são populados com a lista de
endereços do X-Forwarded-For
.
A configuração do trust proxy
é
implementada usando o pacote
proxy-addr. Para
obter mais informações, consulte a documentação.