Express za proxy
Ak chcete, aby vaša Express aplikácia bežala za proxy, nastavte (pomocou app.set()) aplikačnú premennú trust proxy na jednu z hodnôt z nasledujúcej tabuľky.
Aplikácia bude bežať i v prípade, ak aplikačná premenná trust proxy nie je nastavená. Aplikácia však nesprávne zaregistruje IP adresu proxy, ako klientskú IP adresu dokým trust proxy nebude nastavené.
| Typ | Hodnota |
|---|---|
| Boolean |
Ak je Ak je |
| IP addresses |
IP adresa, subnet, alebo pole IP adries a subnet-ov (podsietí), ktorým má aplikácia dôverovať. Nasledujúci zoznam zobrazuje predkonfigurované názvy subnet-ov:
IP adresy môžete nastaviť ktorýmkoľvek z nasledujúcich spôsobov: Pri zadaní IP adresy alebo subnet-ov, sú tieto vylúčené z procesu vyhodnocovania a nedôveryhodná IP adresa najbližsie k aplikačnému serveru je vyhodnotená ako IP adresa klienta. |
| Number |
Doveruj n-tému hop-u od front-facing proxy servera ako klient. |
| Function |
Vlastná implementácia dôveryhodnosti. Použite to iba v prípade, ak viete čo robíte. |
Nastavením inej ako false hodnoty trust proxy implikuje tieto tri dôležité zmeny:
-
Hodnota req.hostname je odvodená od hodnoty nastavenej v
X-Forwarded-Hosthlavičke, ktorá môže byť nastavená klientom alebo proxy. -
Hlavička
X-Forwarded-Protomôže byť nastavená z reverse proxy aby oznámila aplikácii, či jehttpsalebohttpprípadne nevalidná hodnota. Táto hodnota reflektuje req.protocol. -
Hodnoty req.ip a req.ips sú naplnené zoznamom adries z
X-Forwarded-For.
Nastavenie trust proxy je implementované pomocou proxy-addr modulu. Pre viac informácií si pozrite jeho dokumentáciu.