Nginx de configurare corectă

Un pas greșit la capcane în configurația și funcționarea serverului web este foarte ușor. Dar este greu de înțeles motivul pentru funcționarea incorectă sau nu întotdeauna corecte / incorecte, în cazul în care sunt respectate toate regulile.

Locul de amplasare rădăcină în cadrul secțiunii

Nu este nimic greșit în plasarea rădăcină-director în interiorul locație. Dar dacă locația nu se potrivește, atunci acesta nu va avea acces la directorul rădăcină. Corect de a face acest lucru:

# Specifică rădăcina în interiorul secțiunii de server

indice de mai multe directive

Nu este necesar pentru a produce un număr mare de directive de index. Prescrierea o dată bloc http.

# Indicele va fi automat moștenită în toate secțiunile

Utilizarea dacă

Știi că, dacă = rău. Dacă utilizați este nevoie să fie atent directive, ușor de a face o greșeală. În măsura în care este posibil, evitați utilizarea în cazul în care.

numele serverului

Să presupunem că site-ul dvs. este pe domeniul somesite.com și redirecționa utilizatorii către acesta, care merg pe www.somesite.com:

# Controale și redirecționează gazdă

Iată câteva probleme. Acasă - în cazul în care. Indiferent de cererea gazdă (cu sau fără www), Nginx încă verifică dacă. Pentru fiecare cerere. În schimb, puteți face acest lucru:

schema # Utilizare $, care este potrivit pentru http și https

Verificați dacă fișierul

Nu utilizați pentru a verifica dacă pentru fișierul:

# Abordarea este cel puțin la fel de eficace

În schimb au existat Directiva Nginx try_files.

# Verificați secvența pentru prezența fișierului, în cazul în care nu există, du-te la index.html

Este demn de remarcat faptul că directiva poate fi de asemenea folosite pentru a proteja serverele Web împotriva accesului neautorizat.

Cererile de transfer în PHP

Dacă Nginx redirecționa toate cererile care se termină în .php. direct la PHP interpret, pentru intrușii sunt oportunități de a rula cod arbitrar. implicit PHP încearcă să ghicească în cazul în care ar trebui să efectueze cerere necorespunzătoare. Deci, mai întâi trebuie să corectați php.ini. care precizează:

# Interpret va procesa numai cereri valide

Acordați atenție la configurarea corectă a Nginx:

# Setările pot fi combinate

Calea FastCGI

Un greșit moduri de plasare script FastCGI de multe ori duce la eroare „script-ul primar necunoscut“. care pot fi rezolvate cu ușurință.

Rescriere (rescriere)

Utilizați $ REQUEST_URI variabilă pentru a schimba URI de solicitare:

# Redirect la pagina 301

# Completează automat anchetă

proxy

Nu redirecționa toate cererile pentru PHP în acest formular:

# Totul pe phpcgi.socket Transmite

Utilizați toate aceleași try_files directive.

# Trimite numai cererile necesare la proxy

# În cazul în care Nginx nu poate procesa cererea URI le apoi verificați directorul pentru prezența, și apoi transmite la proxy

Cel mai important lucru

Nginx de configurare corectă

materiale pe această temă