Tento dokument môže byť v porovnaní s dokumentáciou v angličtine zastaralý. Aktuálne informácie nájdete v dokumentácii v angličtine.

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é.

TypHodnota
Boolean

Ak je true, IP addresa klienta bude chápaná ako left-most entry v X-Forwarded-* hlavičke.

Ak je false, aplikácia sa chápe, ako priamo vystavená na Internet a klientská IP adresa je odvodená z req.connection.remoteAddress. Toto je defaultné nastavenie.

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:

  • loopback - 127.0.0.1/8, ::1/128
  • linklocal - 169.254.0.0/16, fe80::/10
  • uniquelocal - 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, fc00::/7

IP adresy môžete nastaviť ktorýmkoľvek z nasledujúcich spôsobov:

app.set('trust proxy', 'loopback'); // specify a single subnet
app.set('trust proxy', 'loopback, 123.123.123.123'); // specify a subnet and an address
app.set('trust proxy', 'loopback, linklocal, uniquelocal'); // specify multiple subnets as CSV
app.set('trust proxy', ['loopback', 'linklocal', 'uniquelocal']); // specify multiple subnets as an array

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.

app.set('trust proxy', function (ip) {
  if (ip === '127.0.0.1' || ip === '123.123.123.123') return true; // trusted IPs
  else return false;
});

Nastavením inej ako false hodnoty trust proxy implikuje tieto tri dôležité zmeny:

Nastavenie trust proxy je implementované pomocou proxy-addr modulu. Pre viac informácií si pozrite jeho dokumentáciu.