Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 17771|Vastaus: 1

[Web] nginx saa käyttäjän todellisen IP-osoitteen

[Kopioi linkki]
Julkaistu 19.5.2018 11.38.55 | | | |
Jotkut käyttöliittymistämme sisältävät muutoksia käyttäjätiedoissa, ja nämä rajapinnat sallivat vain pääsyosapuolen säätää meitä, joten meillä on nginxissä IP-valkoinen lista.

Se on varustettu pääsyosapuolen poistumis-IP:llä.

Tässä ovat nginx-pääsymme lokit.



nginx ottaa $remote_addr:n todelliseksi IP-osoitteeksi, mutta todellisuudessa $http_X_Forwarded_For on käyttäjän oikea IP, $remote_addr on vain f5:n (käyttäjä -->f5 --> nginx) yksityinen verkkoosoite, minkä seurauksena nginx saa väärän nimen ja käyttäjä säätää käyttöliittymää aina 403.

Ratkaisu:

http-moduulissa plus


set_real_ip_from 10.10.10.122; Kerro nginxille, että saa RealIP:n arvon sieltä
real_ip_header X-Real-IP; Muuttujan nimi, joka tallentaa RealIP-arvon

Voida!

Tässä aloitamme nginx-raportin lisättyämme:

nginx: [emerg] unknown directive "set_real_ip_from" in /home/lnidmp/nginx/conf/nginx.conf:26




Lisätään siis realip-moduuli ja käännetään nginx uudelleen


1、cd /usr/local/nginx-1.6.3
2、./configure --prefix=/usr/cmcc/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module
3、make && tee asennus

Vinkkejä:
1. set_real_ip_from viittaa todelliseen käyttäjän IP-osoitteeseen, josta luotettu esivälityspalvelin

2. real_ip_header viittaa edellisen välityspalvelimen käyttäjän IP-osoitteeseen, josta HTTP-osa vastaanotetusta viestistä on saatu

3. real_ip_recursive Poissulketaanko rekursiivisesti, kunnes käyttäjän IP-osoite saadaan (oletus on pois päältä)

Ensiksi real_ip_header määrittää http-otsikon nimen, joka on oletuksena X-Real-IP.

(1) Jos IP-osoite on olemassa, se tarkistaa, onko lähettäjän IP set_real_ip_from:n määrittelemässä luotetussa IP-listassa. Jos siihen luottaa, se ajattelee, että tämän X-Real-IP:n IP-arvo on käyttäjän todellinen IP-arvo, jonka entinen agentti kertoo, joten se liittää tämän arvon omalle $remote_addr-muuttujalleen; Jos siihen ei luoteta, sitä ei käsitellä, ja $remote_addr on edelleen lähettäjän IP-osoite.

(2) Jos X-Real-Ip:llä on useita IP-arvoja, edellinen välityspalvelin asetetaan näin: proxy_set_header X-Real-Ip $proxy_add_x_forwarded_for;

Saat IP-ketjun, joten real_ip_recursive:n arvo on tällä hetkellä ratkaisevan tärkeä. nginx vertaa set_real_ip_from luottamuslistan IP-osoitteita oikealta vasemmalle IP-listalla. Jos real_ip_recursive on väärin, niin kun oikeanpuoleisin IP todetaan luotettavaksi IP:ksi, ajatellaan, että seuraava IP (oikealla oleva toinen IP) on käyttäjän todellinen IP. Jos real_ip_recursive on päällä, sitä verrataan oikealta vasemmalle, kunnes löydetään epäluotettava IP. Sitten kopioi IP-arvo myös $remote_addr-tiedostoon.

Varat:
https://help.aliyun.com/document_detail/54007.html
https://help.aliyun.com/knowledge_detail/55198.html
https://www.linux178.com/web/nginx-get-realip.html





Edellinen:Discuz-sivustokartat luodaan automaattisesti
Seuraava:Käytä Alibaba Cloudin kuormantasausta estääksesi IP-yhteyden verkkosivustoille
Julkaistu 18.6.2018 14.57.50 |
Katso, nginx saa oikean IP:n
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com