Am Nginx cu multe „servicii” (site-uri web) definite. Aș dori să refuz accesul la toate pentru o mulțime de adrese IP (în mare parte internaționale), dar în același timp vreau să „permit” accesul nerestricționat la unele site-uri web accesibile public. Este posibil să faceți asta cu Nginx gratuit pentru Windows?
Iată structura fișierului meu de configurare:
http {
# declarații comune aici;
Server {
nume_server publicsite.web;
# unele setări;
permite tuturor;
}
nega 1.0.0.0/8;
nega 2.0.0.0/8;
# totul de mai jos ar trebui refuzat IP-urilor enumerate
Server {
nume_server site privat1.domeniu.web;
# unele setări;
}
Server {
nume_server site privat99.web;
# unele setări;
}
}
Am încercat o astfel de configurare, dar „publicsite.web” este refuzat pentru IP-urile enumerate sub blocul de server{}, presupun că sunt la nivel http, chiar dacă sunt listate mai jos.
Înțeleg că cea mai ușoară opțiune ar fi să enumerați toate IP-urile „refuze” într-un fișier separat (care apropo este deja) și să le includeți în fiecare bloc de server{} care ar trebui să onoreze refuzul. Având în vedere că ar putea exista până la o sută de astfel de blocuri de server{} și mai mult de o sută de blocuri de subrețea IP refuzată, mă tem că configurația ar putea deveni prea complexă și voluminoasă, afectând performanța serverului.
Există o opțiune mai bună decât includerea aceleiași liste de IP-uri refuzate în fiecare bloc de server{}?