Hogyan kell helyesen konfigurálni http

Hogyan kell helyesen konfigurálni http

Egyre több vállalat kezdik használni a HTTP / 2 teljesítményének javítása a telek. Állítsa be a HTTP / 2 meglehetősen egyszerű, de mi van, ha az infrastruktúra lakk. mert Lakk 4. * nem támogatja az SSL, akkor meg kell találni a módját, hogy az összes szükséges komponenst együtt dolgozni.

Mint tudja, a Web folyamatosan halad előre, és végre van egy új változata a HTTP protokoll. Fő előnyei:

- és multiplexelés folyamok (stream és multiplexelés): egy HTTP / 2 csatlakozó tartalmazhat több versenyképes nyílt folyamok. Multiplexelés kérelmek érjük el, hogy minden HTTP kérés / válasz társított saját áramlását. Streams nem függnek egymástól, így a várható válasz nem befolyásolja más szálak.

- tömörítés HTTP-fejléceket. HTTP / 1.1, a fejléceket nem sűrített és feleslegesen fogyasztja sávszélesség és növeli az idő a hálózaton keresztül. HPACK - A HTTP / 2 új kompressziós mechanizmust vezetett be. Ez kiküszöböli a redundáns fejlécek, és csökkenti a biztonsági rés az ismert támadásokra.

- előre küld adatokat a szerver (kiszolgáló kitolja): HTTP / 2 lehetővé teszi a szerver küld az ügyfél idő előtt összefüggő reakciók a korábbi kéréseket.

Sok modern böngészők már támogatják a HTTP / 2. így néhány egyszerű lépésben, akkor lesz nekik a kívánt eredményt.

Azt is nézd részletesebben az újítások, olvassa el a hivatalos leírás:

Miért HTTP / 2 van szükség?

A fenti magyarázat jók, de néhány ember, mint te, vagy úgy érzi, hogy az eredményt, mielőtt elkezdi, hogy tegyen valamit. A legjobb demo találtam, és amely képes motiválni másokat, készítette Akamai. Az ő demo összehasonlítani egyenlő terhelése a két kép, amely több kis szegmensek, HTTP / 1.1 és a HTTP / 2. Amennyiben böngészője támogatja a HTTP / 2, azt ajánlom, hogy menjen és nézze meg a HTTP / 2 demo. Továbbá böngészők megkövetelik SSL HTTP / 2, és ez teszi a webhely biztonságát.

A klasszikus sémát Lakk

Lakk általában fel az ügyfelek és a webszerver. A rendszer a következő:

Hogyan kell helyesen konfigurálni http

Itt van egy ügyfél, hogy kéri az oldalt. Kérését megy Varnish'u aki meghallgatja a 80-as porton. Következő Lakk ellenőrzi, hogy van egy gyorstárazott objektumot az ügyfél válaszát:

- ha van, akkor visszaadja a választ az ügyfél, anélkül, hogy a webszerver egyáltalán

- hiányában egy ilyen létesítmény, Lakk A egy kérést küld egy webszerver olyan választ kap tőle, majd visszatér az ügyfél (a választ a Web is cache szerver).

A probléma az, hogy Lakk 4. * nem támogatja az SSL, amelyek előírják, böngészők dolgozni HTTP / 2, ezért nem lehet csak mondani Varnish'u hallgatni 443-as port.

Megoldás nginx

Az egyik lehetséges megoldás az, hogy adjunk nginx előtt Varnish'em. Ő lesz a felelős a HTTP / 2 munka támogatása SSL és átirányítani az ilyen kérelmek a HTTP / 1.1 Varnish'u. Az új rendszer így néz ki:

telepítése nginx

A legkisebb változat nginx legyen legalább 1.9.5 (csak kezdve ezen verzióját nginx elérhető számunkra a szükséges modul - ngx_http_v2_module). Én a Mac OSX, így írok a telepítés segítségével sört.

Szükségünk lesz két modul, a HTTP / 2 és az egyik, hogy azonosítsa a tényleges IP amikor latilag proxyzza kéréseket. Nevek szükségünk opciók segítségével lehet megtekinteni,:

Telepíteni nginx, issue:

Azt is hozzá nginx indításkor:

SSL tanúsítvány

Továbbá, mi szükség van egy SSL tanúsítványt. Nagyon sok módja van megszerezni, de most fogunk összpontosítani generációs OpenSSL:

Megjegyezzük, hogy ha generáló tanúsítványt meg kell adnia a domain lépésben közös név. Ha ilyen igazolást, a böngésző beszámol arról, hogy a tanúsítvány nem megbízható, de ez teljesen normális a mi demo célra.

Állítsa nginx (HTTP / 2, SSL)

Most már mindent beállítani nginx:

Beállítás lakk

Minimum * .vcl fájl Varnish'a:

Ezután meg kell futtatni Lakk 80-as porton:

Alternatív módon, ebben a szakaszban is lehetséges, hogy a -b flag (* .vcl helyett fájl példa -a).

Beállítása a web szerver

Mivel a web szerver Én a nginx (igen, a mi rendszer 2 nginx :)). A Varnish'a beállítások azt jelezte, hogy a backend porton figyel 8080, így meg kell konfigurálni nginx kell. Hozzá nginx beállítás másik szerverre:

Tesztelés Chrome

Vizuálisan ellenőrizni teljesítmény-rendszer, bővítményt telepít Chrome - HTTP / 2 és SPDY mutató.

fejlesztés lakk

Ennek alapján egy interjúban a lakk Software CTO Per Buer. töltenek komoly munkát az irányt a HTTP / 2:

H / 2 már az első a listán. Mi töltött éve dolgozik különböző változások Lakk, hogy felkészüljenek a H / 2. Két legutóbbi kiadás Varnish'a készülődtek rá.

Remélem, hogy az új verzió Lakk cache adunk támogatja a HTTP / 2, és tudjuk eltávolítani a mi infrastruktúra-elemek, mint a kiegészítő nginx.

Egyáltalán nem számít, hogy használ-e Lakk cache vagy nginx modulokat, akkor feltétlenül kell, hogy működjön együtt a HTTP / 2 ma, mert ez biztosítja kézzelfogható eredményeket, és szükség van egy minimális idő beállításához. Továbbá, ebben a leegyszerűsített példa, minden erőforrás elérhető lesz 443, 80 és 8080 portok. Ha kell korlátozni a hozzáférést, akkor kell hozzá egy átirányítást a külső IP-at Varnish'a vagy nginx.

Kapcsolódó cikkek