Hogyan kell használni az Apache fordított proxy használatával mod_proxy ubuntu

Fordított proxy szerver - az a típusú proxy szerver, ami közvetíti HTTP / HTPPS-kérések egy vagy több back-end szerverek. Fordított proxy hasznosak, mint sok modern webes alkalmazások HTTP-kérés feldolgozása az alkalmazás back-end szerver (ahol a felhasználók nem férnek hozzá közvetlenül), és gyakran támogatják csak az alapvető HTTP funkciókat.

Ezért, akkor használja a fordított proxy szervert annak érdekében, hogy felhívják a felhasználók figyelmét, hogy közvetlen hozzáférést nyerjenek a fő alkalmazási szerverek. Az alkalmazandó fordított proxy szerver segít a ruhaneműt, a beérkező kérések valamilyen más alkalmazás szerverek. Ennek köszönhetően jobb teljesítményt és nagyobb rugalmasságot biztosít.

Ebben a cikkben megtudhatja, hogyan kell beállítani az Apache használni, mint egy fordított használatával mod_proxy proxy szerver - Apache modul átirányítani kapcsolatok egy vagy több back-end szerverek ugyanabban a hálózatban. Ez az útmutató egy egyszerű háttér írni a Lombik keret, de használható bármilyen backend tetszése.

követelmények

Végezni a szükséges intézkedéseket, amire szüksége van:

  • szerver Ubuntu 16.04 operációs rendszer és a felhasználói, akik futni sudo parancsok;
  • szerverre telepített Apache.

1. lépés: az Apache szükséges modulokat

Sok Apache modulokat tartalmazza és használható, de nem aktiválta a telepítés után. Ezért szükséges, hogy a modulokat kell használni ebben a kézikönyvben.

A szükséges modul - a mod_proxy, és néhány kiegészítő, kiterjesztik a képességeit, és lehetővé teszi, hogy támogassák a különböző hálózati protokollokat. Ha a hirdetést pontosabban annak szükségességét:

  • mod_proxy - Apache főmodult átirányítani kapcsolatokat; Hála neki, Apache működhet átjáróként a fő alkalmazás szerverek;
  • mod_proxy_http - lehetővé teszi, hogy a proxy HTTP;
  • mod_proxy_balancer és mod_lbmethod_byrequests - add terhelés kiegyenlítő funkciók back-end szerverek.

Hogy aktiválja a modult, hajtsa végre a következő parancsokat a megfelelő sorrendben:

Ezután indítsa újra az Apache a változtatások életbe léptetéséhez.

Most Apache fog működni, mint egy fordított proxy szerver a HTTP-kéréseket. A következő lépés nem kötelező, de segít, hogy teszteljék az Apache munka és győződjön meg arról, hogy minden működik, ahogy kellene. Ehhez hozzon létre két alapvető back-end szerver, de ha már van belőle raktáron, akkor ugorjon a 3. lépésre.

2. lépés: a vizsgálat back-end szerverek

Futás néhány alapvető back-end szerverek - egy nagyszerű lehetőség, hogy tesztelje vagy nem megfelelően működik az Apache. Ezért létre kell hozni a két szerver, amely válaszol a HTTP-kérések nyomtat sort. Az egyik válasz a "Hello world!", A másik "Hello Timeweb!".

Megjegyzés. Ha beszélünk nem a próbaüzem, ez általában a backend szerverek, hogy ugyanaz a tartalom típusát. A teszt azonban sokkal kényelmesebb, ha ez a két szerver különböző üzeneteket, mert könnyebb lesz, hogy nyomára, hogy a terhelés elosztás megfelelően működik.

Lombik - microframework van Python, amely létrehozásához használt webes alkalmazások. Ebben az útmutatóban fogjuk használni Lombik, hogy hogyan kell írni egy alap alkalmazást igényel csak néhány sor. Nem kell tudni Python elvégzéséhez további intézkedéseket.

A kezdéshez frissíti a rendelkezésre álló csomagok listája:

Most meg a Pip, ajánlott Python csomagolási rendszer.

És amikor Pip segítségével állítsa be a Lombik:

Most, hogy az összes szükséges komponensek telepítve vannak, akkor lehet menni a fájl létrehozásához, amelyek szükségesek lesznek az első back-end szerver kódot.

Másolja a szöveget egy fájlba, amit az alábbiakban mutatjuk be, majd mentse és zárja be a fájlt.

Az első két sor inicializálja a keret lombikba. Az egyedüli funkciója otthon () ad sztring ( „Hello world!”). És, hogy ez a szöveg jelenik meg, válaszul egy HTTP-kéréseket, válaszok @ app.route ( „/”).

A második backend szerver ugyanaz lesz, mint az első kivéve egyetlen különbség a szövegben.

Tehát először meg kell először másolja a fájlt:

Most nyílt egy új fájlt másolja le:

És az utolsó sorban, hanem a „Hello world!” Write, például „Hello Timeweb!”:

Az alábbi parancs elindítja az első back-end szerver, a 8080-as porton.

A második szerver kell futtatni ugyanazt, a port 8081:

Most teszteljük a munkát mindkét szerveren.

Erre válaszul, akkor kap egy „Hello world!”.

Ebben az esetben, akkor megjelenik a terminál feliratot „Hello Timeweb!”.

Megjegyzés. Bezárásához mind a teszt szerver (pl elvégzése után valamennyi intézkedést a jelen útmutató), akkor egyszerűen futtassa a következő parancsot: killall lombikba.

Következő lépésként meg fogja változtatni az Apache konfigurációs fájl, hogy a lehetőséget, hogy használni, mint egy fordított proxy szerver.

3. lépés: módosítása a kezdeti beállításokat, hogy proxy

Ebben a részben meg kell változtatni az eredeti virtuális host Apache viselkedett fordított proxy szerver egy vagy több back-end szerverek.

Ezen belül fájlban keresse meg a blokk az első sorban . Az első példa azt mutatja be, hogyan kell változtatni a fájl, hogy egy fordított proxy háttérkísérlet szerver, míg a második példa - beállíthatjuk a terheléselosztás több backend szervereken.

1 példa: fordított proxy háttérkísérlet szerver

Másolja le az alábbi helyett a teljes szöveget a VirtualHostnak blokk, amely végül blokk így nézett ki:

Az egység három irányelv:

Miután elvégezted a változtatásokat újra kell indítani az Apache:

2. példa: terheléskiegyenlítést végezzen több back-end szerverek

Ha több back-end szerverek egy jó ötlet, ha egy proxy, hogy osztja a forgalom közöttük; ez történhet terheléselosztás mod_proxy segédprogramot.

Csakúgy, mint az első példa, akkor is ki kell cserélni a szöveget a VirtualHost blokkot a következő:

ProxyPass ProxyPassReverse és használata terheléselosztás irányelv medence úgynevezett mycluster helyett egy adott szerver.

Annak érdekében, hogy a módosítások alkalmazásához, indítsa újra az Apache:

következtetés

Most, hogy tudjuk, hogyan kell beállítani az Apache fordított proxy szerver egy vagy több back-end szerverek. mod_proxy hatékonyan lehet használni, hogy konfigurálja a reverse proxy szerver alkalmazások írt különböző programozási nyelvek és technológiák, mint a Python, Django vagy Ruby és Ruby on Rails. Mod_proxy is fel lehet használni a terhelés elosztás több backend szerver webhelyek nagy terhelés, a magas rendelkezésre állás, az ilyen erőforrások.

mod_proxy és mod_proxy_http legnépszerűbb modulok kombinációja, de vannak még sokan mások, akik támogatják más hálózati protokollokat. Bár ez a kézikönyv nem használják őket, ők is azonosítani lehet a lista:

  • mod_proxy_ftp FTP;
  • mod_proxy_connect SSL-alagút;
  • mod_proxy_ajp protokoll AJP (Apache JServ jegyzőkönyv);
  • mod_proxy_wstunnel web aljzatok.

Hogyan kell használni az Apache fordított proxy használatával mod_proxy ubuntu