Nginx ca un proxy inversă

Nginx ca un proxy inversă

Mai mulți cititori blog webo.in mi-au cerut să pună pachetele de configurare Nginx + Apache, în cazul în care serverul se execută. Deși nu sunt direct legate de subiectul de optimizare client. Cu toate acestea, cele mai multe dintre profesioniștii implicați în optimizarea clientului, acesta va fi interesant pentru a afla mai multe despre crearea mai multor gazde pentru a elibera statice și alte câteva trucuri legate de echilibrarea cererilor.

Configurarea Apache 2

Gzip pentru HTML / XML / ICO

De la bun început, includem gzip pentru fișiere text și favicon:

În continuare am stabilit gradul maxim de compresie (9) pentru astfel de fișiere și dimensiunea maximă a ferestrei (15). Dacă serverul nu este la fel de puternic, nivelul de compresie poate fi setat la 1, dimensiunea fișierului va crește cu aproximativ 20%.

Dezactivăm de compresie pentru acele browsere care au probleme cu recunoașterea sa (astfel de cazuri sunt deja bine descrise și documentate):

Gzip pentru CSS / JS

Acum vom avea grijă de compresie pentru CSS / JS-fișier (această tehnică este bine descrisă în articolul relevant). Pentru toate fișierele (.css | js | .xml)

Aici expunem corespunzătoare tip MIME pentru stiluri și script-uri comprimat:

În cazul în care resursele de server nu sunt atât de rău, puteți arhiva CSS / JS fișiere și un mod standard pentru Apache ca aceasta:

În continuare, un cuplu de remedieri mici pentru a îmbunătăți performanța cu o varietate de proxy locale: ne referim la necesitatea de transport în afara User-Agent (din cauza deciziei sale de comprimare) și antetul Cache-Control (care cache nu este efectuată pe server proxy, și fișierul transferat în totalitate pentru utilizator). Citat din w3.org:

[Acest titlu] indică faptul că toate mesajului de răspuns, în totalitate sau în parte este proiectat pentru un singur utilizator și nu ar trebui să fie menținute într-un cache intermediar

Ei bine, el se conduce, de fapt:

cache

Permite cache pentru toate fișierele pentru o perioadă de 10 ani:

Dacă doriți în mod specific la HTML-fișiere, opriți-l, atunci putem proceda după cum urmează:

Directorul de ETAG rădăcină expune și cache corectă pentru Apache cu SSI (prin XBitHack):

Pentru Cabinetul Personal mi cachingul off:

Practic, asta e tot ce avem nevoie de Apache, dar am avut o altă mică sarcină / problemă pe server.

"Soft" cache server de

Astfel, fiecare pagină nu este fizic pe server, dar este menționat în unele surse externe, se pare, la prima ei de asteptare.

Formatul jurnalului

Deoarece IP reală a utilizatorului, vom fi într-o altă variabilă de mediu (pentru Nginx), avem nevoie pentru a schimba formatul jurnalului. Am făcut acest lucru în felul următor:

De unde variabila X-Real-IP vor fi discutate mai jos.

Nginx de configurare

proxy invers

Pentru a începe cu glazură toate cererile de pe Nginx Apache:

Apache am ridicat pe portul 8080, în cazul în care vom trimite toate cererile de la webo.in. gazdă care a luat Nginx. În plus, noi punem variabilele X-Real-IP (pentru desfășurarea normală a jurnalele Apache, altfel vom avea un anumit tip de înregistrare a 127.0.0.1 în loc de utilizatori IP) și gazdă (așa cum se ocupă Apache nu cu o singură gazdă, știi care cererile de gazdă a venit să-l De asemenea, este necesar).

parte acum mai interesant. Trebuie să facem niște (a mea este 1) pentru emiterea de gazde statice (imagini etc.) direct cu Nginx ar putea (din nou, nu-l transmițându Apache).

Experiența cu Nginx sugerează

În general, asta e tot. La ieșire vom obține 2 gazde: una pur sub Nginx, al doilea pe o grămadă de Apache + Nginx. În plus, vom efectua un set de acțiuni privind optimizarea clientului, iar unele cache de server.

citeste mai mult

articole similare