Nginx

Iš Žinynas.
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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ų

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

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

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

Blokavimas pagal geoip

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;
 }
 ...
}