Express hinter Proxys
Bei der Ausführung einer Express-Anwendung hinter einem Proxy legen Sie die Anwendungsvariable trust proxy
(mithilfe von app.set()) auf einen der in der folgenden Tabelle enthaltenen Werte fest:
Auch wenn die Anwendungsausführung nicht fehlschlägt, wenn die Anwendungsvariable trust proxy
nicht festgelegt wurde, wird die IP-Adresse des Proxys nicht ordnungsgemäß als Client-IP-Adresse eingetragen, es sei denn, trust proxy
wurde konfiguriert.
Typ | Wert |
---|---|
Boolesch |
Wenn |
IP-Adressen |
Eine einzelne IP-Adresse, ein Teilnetz oder ein Array von IP-Adressen und Teilnetzen, denen vertraut werden kann. Die folgende Liste zeigt die vorkonfigurierten Teilnetznamen:
Sie können IP-Adressen wie folgt festlegen:
Sobald die Werte angegeben wurden, werden die betreffenden IP-Adressen und Teilnetze aus dem Adressfeststellungsprozess ausgeschlossen. Die nicht vertrauenswürdige IP-Adresse, die am nächsten zum Anwendungsserver liegt, wird als IP-Adresse des Clients festgelegt. |
Zahl |
Dem |
Funktion |
Individuell angepasste, vertrauenswürdige Implementierung. Dies sollten Sie nur verwenden, wenn Sie genau wissen, was Sie tun.
|
Die Festlegung eines anderen trust proxy
-Werts als false
resultiert in drei wichtigen Änderungen:
-
Der Wert für req.hostname wird vom Wert abgeleitet, der im Header
X-Forwarded-Host
festgelegt wurde. Dieser Wert kann vom Client oder Proxy festgelegt werden. -
X-Forwarded-Proto
kann vom Reverse Proxy festgelegt werden, um der Anwendung mitzuteilen, ob es sich umhttps
oderhttp
oder sogar um einen ungültigen Namen handelt. Dieser Wert wird durch req.protocol abgebildet. -
Als Werte für req.ip und req.ips wird die Liste der Adressen aus
X-Forwarded-For
herangezogen.
Die Einstellung für trust proxy
wird mithilfe des proxy-addr-Pakets implementiert. Weitere Informationen finden Sie in der zugehörigen Dokumentation.