See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 15060|Vastuse: 0

[Veeb] Front-end nginx ja back-end nginx server salvestavad algse kliendi IP-aadressi

[Kopeeri link]
Postitatud 03.11.2014 09:53:23 | | |

See moodul võimaldab meil muuta kliendi IP-aadressi väärtust kliendipäringu päises (nt X-Real-IP või X-Forwarded-For).

    See funktsioon on väga kasulik Nginx serverite jaoks, kui Nginx töötab mõne 7. kihi koormuse tasakaalustamise prokside taga, sest kliendi päringu kohalik IP (ehk kliendi päringu aadress) lisatakse kliendi IP-aadressi päisse, kui see läbib Layer 7 proksi, nii et taustaosa Nginx saab kliendi IP-aadressi väärtuse. Moodul ei ole vaikimisi paigaldatud, nii et kui tahad moodulit kasutada, pead kompileerimisel lisama --with-http_realip_module valiku.

    Selle mooduli kasutamise põhjus on see, et see võimaldab taustaserveril salvestada algse kliendi IP-aadressi.

Konfiguratsiooni näide
set_real_ip_from 192.168.1.0/24;
set_real_ip_from 192.168.2.1;
real_ip_header X-Real-IP;


Sõrmed    Järjekord

   Moodul annab ainult kahte käsku.

Juhendi nimi: set_real_ip_from

Funktsioon: Usaldusväärse aadressi määramine selle käsuga asendatakse täpse IP-aadressiga. Usaldusväärseid Unix sokleid saab kasutada ka alates versioonist 0.8.22. IP-komplekt viitab siin frontendileNginxLakkvõiKalmaarofIPAadress.

Süntaks: set_real_ip_from [aadress| CIDR|" Unix:"]

Vaikimisi väärtus: puudub

Kasutuskeskkond: http, server, asukoht

Juhendi nimi: real_ip_header

Funktsioon: Seda käsku kasutatakse selleks, et määrata, millist päist IP-aadressi asendada. Kui kasutatakse X-Forwarded-For'i, asendab moodul esipaneeli proxy IP-aadressi viimase IP-aadressiga X-Forwarded-For päises.

Süntaks: real_ip_header [X-Real-IP| X-Edasi suunatud]

Vaikimisi väärtus: real_ip_header X-Real-IP

Kasutuskeskkond: http, server, asukoht

Kasutusjuhtumid   

    Järgmises näites on meie keskkond selline: on kaks Nginx serverit, üks on frontend ja teine backend, frontend Nginx on proxy ja backend Nginx võimaldab lehekülgedele ligipääsu ning on olemas ka klient järgmise IP-aadressiga:

  

    Frontend Nginx: 192.168.7.10

    Backend Nginx: 192.168.1.15

    Kliendi host: 218.239.201.36

    Nginxi konfiguratsioon esiküljel näeb välja selline:

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

asukoht / {
    root html;
    indeks index.html index.htm;
charset UTF-8;
  }

asukoht /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 Saatejuht $host;
    proxy_redirect ära;
  }

……
}

Nginxi konfiguratsioon taustale on järgmine:

Server {
  kuula 80;
  server_name kohalik saatejuht;

  asukoht / {
    juur /var/www/html;
    indeks index.html index.htm;
  }

Juurdepääs testile

    Kui me pääseme http://www.xx.com/865 ligi, pole probleemi, see võib olla tavaline ligipääs, ligipääsu logi on järgmine:

    Logid frontend Nginxist:

218.239.201.36 - - [30/august/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"

Logid taustast Nginx:

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"

Näeme, et tausta Nginx logid ei salvesta algse kliendi IP-aadressi, vaid frontendi Nginxi IP-aadressi.

    Kui muudate taustal oleva Nginx serveri konfiguratsiooni järgmiselt:

Server {
  kuula 80;
  server_name kohalik saatejuht;
  set_real_ip_from 192.168.3.0/24;
set_real_ip_from 100.100.0.0/16;
  real_ip_header X-Real-IP;

  asukoht / {
    root html;
    indeks index.html index.htm;
  }

    ……
}

Seejärel teeme ligipääsutesti uuesti:

    Logid frontend Nginxist:

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"

     Logid taustast Nginx:

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"

On näha, et seekord salvestab taust kliendi IP-aadressi.







Eelmine:nginx proxy režiim, hanki kliendi tegelik IP-aadress
Järgmine:Discuz! X3.1 Kõik X3 versioonid mööduvad manuse allalaadimisloast ilma krediitideta Piiramatu allalaadimise haavatavus
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com