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-Hostfestgelegt wurde. Dieser Wert kann vom Client oder Proxy festgelegt werden. -
X-Forwarded-Protokann vom Reverse Proxy festgelegt werden, um der Anwendung mitzuteilen, ob es sich umhttpsoderhttpoder 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-Forherangezogen.
Die Einstellung für trust proxy wird mithilfe des proxy-addr-Pakets implementiert. Weitere Informationen finden Sie in der zugehörigen Dokumentation.