Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 15060|Válasz: 0

[Web] A front-end nginx és back-end nginx szerver rögzíti az eredeti kliens IP-címét

[Linket másol]
Közzétéve 2014. 11. 03. 9:53:23 | | |

Ez a modul lehetővé teszi, hogy módosítsuk az ügyfél IP-cím értékét a kliens kérés fejlécében (pl. X-Real-IP vagy X-Forwarded-For).

    Ez a funkció nagyon hasznos a Nginx szerverek számára, ha a Nginx néhány 7. réteg terheléselosztási proxy mögött működik, mivel a kliens kérésének helyi IP-címe (azaz az ügyfél kérés címe) hozzáadódik az ügyfél IP-cím fejlécéhez, amikor áthalad a 7. réteg proxyn, így a háttérrendszer Nginx megkaphatja az ügyfél IP-cím értékét. A modul alapértelmezetten nincs telepítve, így ha használni akarod a modult, akkor a --with-http_realip_module opciót kell hozzáadnod a telepítés fordításakor.

    Ennek a modulnak az oka, hogy lehetővé teszi a háttérszerver számára, hogy rögzítse az eredeti kliens IP-címét.

Konfigurációs példa
set_real_ip_from 192.168.1.0/24;
set_real_ip_from 192.168.2.1;
real_ip_header X-Real-IP;


Ujjak    Rend

   A modul csak két utasítást ad.

Utasítás neve: set_real_ip_from

Funkció: Egy megbízható cím megadása ezzel a parancsgal pontosan egy IP-címre vált. Megbízható Unix socketek is használhatók a 0.8.22-es verziótól kezdve. Az IP halmaz itt a frontendre utalNginxLakkvagyTintahalofIPCím.

Szintaxis: set_real_ip_from [a cím| CIDR|" Unix:"]

Alapértelmezett érték: nincs

Használati környezet: http, szerver, helyszín

Utasítás neve: real_ip_header

Funkció: Ez a parancs arra szolgál, hogy meghatározza, melyik fejlécet kell használni az IP-cím helyettesítésére. Ha az X-Forwarded-For funkciót használják, a modul a front-end proxy IP-címét az X-Forwarded-For fejlécében szereplő utolsó IP-címre cseréli.

Szintaxis: real_ip_header [X-Real-IP| X-továbbítva]

Alapértelmezett érték: real_ip_header X-Real-IP

Használati környezet: http, szerver, helyszín

Felhasználási esetek   

    A következő példában a környezetünk így van: két Nginx szerver van, az egyik a frontend, a másik a backend, a frontend Nginx proxyként szolgál, a backend Nginx pedig oldalhozzáférés biztosítására, és van egy kliens is, amely a következő IP-címet használja:

  

    Frontend Nginx: 192.168.7.10

    Backend Nginx: 192.168.1.15

    Kliens hódista: 218.239.201.36

    A frontend Nginx konfigurációja így néz ki:

Server {
  Hallgasd 80;
  server_name www.xx.com;

helyszín / {
    root html;
    index index.html index.htm;
UTF-8 charset;
  }

helyszín /865 {
    proxy_pass http://192.168.3.139:80/;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Házigazda $host;
    proxy_redirect el;
  }

……
}

A háttérrendszer Nginx konfigurációja a következő:

Server {
  Hallgasd 80;
  server_name helyi házigazdá;

  helyszín / {
    root /var/www/html;
    index index.html index.htm;
  }

Hozzáférés a teszthez

    Ha hozzáférünk a http://www.xx.com/865-hez, gond nélkül, lehet normál hozzáférés, a hozzáférési napló a következő:

    Logok a frontend Nginx-ről:

218.239.201.36 - - [30/Aug/2011:16:09:56 +0800] "GET /865/ HTTP/1.1" 200 151 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 GTB7.1"

Logok a háttérrendszerről Nginxről:

192.168.7.10 - - [30/Aug/2011:16:09:56 +0800] "GET // HTTP/1.0" 200 151 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 GTB7.1"

Látjuk, hogy a háttérben lévő Nginx naplók nem az eredeti kliens IP-címét rögzítik, hanem a frontend Nginx IP-címét.

    Ha módosítod a háttérben lévő Nginx szerver konfigurációját úgy, hogy a következőképpen módosítod:

Server {
  Hallgasd 80;
  server_name helyi házigazdá;
  set_real_ip_from 192.168.3.0/24;
set_real_ip_from 100.100.0.0/16;
  real_ip_header X-Real-IP;

  helyszín / {
    root html;
    index index.html index.htm;
  }

    ……
}

Ezután újra megcsináljuk a hozzáférési tesztet:

    Logok a frontend Nginx-ről:

218.239.201.36 - - [30/Aug/2011:16:10:28 +0800 "GET /865/ HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 GTB7.1"

     Logok a háttérrendszerről Nginxről:

218.239.201.36 - - [30/Aug/2011:16:10:28 +0800] "GET // HTTP/1.0" 304 0 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 GTB7.1"

Látható, hogy ezúttal a háttér rögzíti az ügyfél IP-címét.







Előző:nginx proxy mód, megszerezd a kliens valódi IP-címét
Következő:Discuz! X3.1 Az X3 összes verziója megkerüli a csatolmány letöltési engedélyét kreditek nélkül Korlátlan letöltési sebezhetőség
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com