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ő:
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.