Nginx

Iš Žinynas.
Jump to navigation Jump to search

Apache is like Microsoft Word, it has a million options but you only need six. Nginx does those six things, and it does five of them 50 times faster than Apache.


Truputis optimizavimo gidu:

PHP-FPM su Nginx optimizavimo gidai:

Kaip veikia svetaines po jusu "tiuningo" galima paziureti siuose puslapiuose:

Tam tikrų vhostų priėimas tik iš tam tikrų ip adresų[keisti]

if ($http_host ~* "(pirmas.hostas.lt|antras.hostas.lt)")  {
set $block A;
}
if ($remote_addr !~* dalis.ip.adreso.) { 
 set $block "${block}B";
}
if ($block = AB) {
   return 444;
   break;
}

Fake not found[keisti]

Situacija kai norime paslepti tam tikros svetaines tam tikra dali ir praleisti visas kitas, pvz kai norima rodyti tik kai kuriuos public elementus ir paslepti login bei kitas formas. Praleisime prie visu duomenu tiktai tam tikrus browserius su specialiu user_agent. NOTE: Neprisijungusieji vartotojai visada redirectinami i /login, todel, kad maskuoti sia situacija butina neparodyti, tikrojo URL.

location / {
if ($http_referer ~* "/login") {
        return 444;
        }
        index  index.html index.htm index.php;
        try_files $uri $uri/ /index.php?$query_string;
  }
location ^~ /login {
if ($http_user_agent !~* ((user_agentas))) {
return 301 http://$host;
}
try_files $uri $uri/ /index.php?$query_string;
}

htpassword[keisti]

sudo bash -c "echo -n 'admin:' >> /etc/nginx/.htpasswd"
sudo bash -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"

nginx conf:

auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;


Nginx cache[keisti]

Blokavimas pagal geoip[keisti]

Blokavimas arba nukreipimas pagal geoip

 geoip_country /usr/share/GeoIP/GeoIP.dat;
    map $geoip_country_code $allowed_country {
       default yes;
       AO no;
       LT no;
  }
server {
 ...
  if ($allowed_country = no) {
  return 403;
 }
 ...
}