Esta traducción proporcionada por StrongLoop / IBM.
Este documento puede estar desfasado respecto a la documentación en inglés. Para ver las últimas actualizaciones, consulte la documentación en inglés.Cuando ejecute una aplicación Express detrás de un proxy, establezca (utilizando app.set()) la variable de aplicación trust proxy
en uno de los valores de la siguiente tabla.
Aunque la aplicación no dejará de ejecutarse si no se establece la variable de aplicación trust proxy
, registrará incorrectamente la dirección IP del proxy como la dirección IP del cliente, a menos que se configure trust proxy
.
Tipo | Valor |
---|---|
Booleano |
Si es Si es |
Direcciones IP |
Una dirección IP, una subred o una matriz de direcciones IP y subredes de confianza. La siguiente lista muestra los nombres de subred preconfigurados:
Puede establecer direcciones IP de varias formas:
Cuando se especifican, las direcciones IP o las subredes se excluyen del proceso de determinación de direcciones, y la dirección IP no de confianza más próxima al servidor de aplicaciones se establece como la dirección IP del cliente. |
Número |
Confíe en la porción |
Función |
Implementación de confianza personalizada. Utilícela sólo si sabe lo que está haciendo.
|
Si establece un valor de trust proxy
distinto de false
, se producen tres cambios importantes:
El valor de req.hostname se obtiene del valor definido en la cabecera X-Forwarded-Host
, que puede estar establecido por el cliente o el proxy.
El proxy inverso puede establecer X-Forwarded-Proto
para indicar a la aplicación si es https
, http
o incluso un nombre no válido. req.protocol refleja este valor.
Los valores req.ip y req.ips se rellenan con la lista de direcciones de X-Forwarded-For
.
El valor trust proxy
se implementa utilizando el paquete proxy-addr. Para obtener más información, consulte su documentación.