Puncte:1

Cum pot restricționa accesul de la IP-uri externe pentru o locație ngnix

drapel cn

Vreau să restricționez accesul la o locație ngnix de la IP-uri externe. Adaug următoarea configurație la fișierul de configurare ngnix, dar nu sunt sigur dacă este modul corect de a face acest lucru. Există alternative mai bune pentru restricționarea IP-urilor externe pentru a accesa o locație?

harta $proxy_add_x_forwarded_for $remote_ip {
    implicit $proxy_add_x_forwarded_for;
    "" $http_x_real_ip;
}
harta $remote_ip $este internă {
    ~^127\. 1;
    ~^10\. 1;
    ~(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.) 1;
    ~^192\.168\. 1;
    implicit 0;
}

...

locație /app/sniper {
    if ($este intern != 1) { returnează 403; }
    ...
}

Mulțumesc anticipat...

Puncte:2
drapel us

Ar trebui să utilizați nginx geo modul pentru hărți de adrese IP. Configurația ta ar fi așa cu el:

geo $intern {
    implicit 0;
    127.0.0.0/8 1;
    10.0.0.0/8 1;
    172.16.0.0/20 1;
    192.168.0.0/24 1;
}

locație /app/sniper {
    dacă ($intern != 1) {
        întoarce 403;
    }
}
Kemal Kaplan avatar
drapel cn
Tero, mulțumesc pentru răspuns, aveți vreun comentariu pentru obținerea IP-ului real? Există o modalitate mai bună de a obține IP-ul real de unde caut http_x_real_ip și _x_forwarded_for?
drapel us
Dacă sunteți în spatele unui proxy, aș folosi https://nginx.org/en/docs/http/ngx_http_realip_module.html pentru a obține adresa IP.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.