Bevezetés
A harmadik féltől származó bővítmények rendkívül hasznos kiegészítők. Ezek sokkal egyszerűbbé és gördülékenyebbé teszik a szerverek, például az Apache HTTP konfigurálását és a velük való munkát. Szükség esetén akár használhatja is ezen modulok némelyikét az Apache-ban fordított proxy futtatására. Ezzel vagy eltávolíthat egy réteget a szerverbeállításokból, vagy használhat egy modult a kapcsolatok átirányítására.
Ebben az útmutatóban az Apache-ról és a szerverplatformhoz kapcsolódó különféle modulokról, például a mod_proxy-ról fogunk beszélni. Azt is megnézzük, hogyan használhatja azt fordított proxyként a kapcsolatok átirányítására a háttér-alkalmazásszerverek felé.
Mi az az Apache?
Apache egy HTTP-szerver, amelyet nagyon gyakran használnak webes célokra. De számos más okból és több platformon is használható. A lépésről lépésre követhető útmutatónk segítségével telepítheti Apache webszerverét Ubuntura. Továbbá kövesse ezt az útmutatót, hogy megtudja, hogyan biztosíthatja Apache szerverét a Let’s Encrypt segítségével. Azt is megnézheti, hogyan állíthat be Apache virtuális gazdagépeket Ubuntu 20.04-en.
Az Apache funkcióit és megvalósítását külső modulok segítségével tovább fedezheti fel. Ezek olyan harmadik féltől származó modulok, amelyeket a kapcsolatokkal és konfigurációkkal kapcsolatos különféle feladatok elvégzésére használhat. Például a mod_rewrite modul segítségével szabályalapú URL-átírást végezhet. Egy másik ilyen modul a mod_proxy. Ez utóbbi modul nagyrészt alulhasznált a közösségben. Elsősorban azért, mert sokan nincsenek tisztában a funkcióinak és alkalmazásainak mértékével. A mod_proxy, ahogy a neve is sugallja, segíthet átjáró vagy proxy beállításában a háttérszerverek számára.
Fedezzük fel a mod_proxy-t részletesen, és azt, hogyan használhatja fordított proxyként.
Mod_proxy: Az Apache használata fordított proxyként
Ahogy azt valószínűleg kitalálta, a mod_proxy egy modul. Ez egy olyan modul az Apache-ban, amellyel különféle kapcsolatokat hozhat létre és irányíthat át. Aktiválhatja és konfigurálhatja is, mint bármely más modult a rendszerén. A mod_proxy különlegessége, hogy nem csak egyetlen modulból áll. Valójában különböző modulok gyűjteményét foglalja magában, amelyeket alább talál. Mindegyiknek megvan a maga feladata. Ily módon a mod_proxy rendkívül sokoldalú funkcionalitást biztosít.
Tekintse meg a következő mod_proxy modulokat:
mod_proxy
Ez a fő proxy modul. Az Apache-ban ezzel a modullal konfigurálhatja és kezelheti a különféle kapcsolatokat. Segítségével a kapcsolatokat is átirányíthatja.
mod_proxy_http
Ahogy a név is sugallja, ez a modul a HTTP és HTTPS protokollokkal foglalkozik. Ezzel a modullal implementálhatja ezen protokollok proxy funkcióit.
mod_proxy_ftp
A mod_proxy_ftp akkor hasznos, ha az FTP protokollal dolgozik.
mod_proxy_connect
Ez a modul az SSL-alagutak (SSL tunneling) létrehozásakor nyújt segítséget.
mod_proxy_ajp
A mod_proxy_ajp modult akkor használhatja, ha az AJP protokollal dolgozik.
mod_proxy_wstunnel
Ez akkor hasznos, ha olyan webes socketekkel dolgozik, mint a WS és a WSS.
mod_proxy_balancer
Ha terheléselosztási (load balancing) és klaszterezési funkciókat szeretne elérni, akkor ezt a modult használhatja.
mod_cache
A mod_cache modul – ahogy az várható – gyorsítótárazási (caching) célokra használható.
mod_headers
Ezzel a modullal kezelheti a HTTP protokoll használatával létrehozott fejléceket.
mod_deflate
Ezt a modult tömörítési célokra használják.
Ha még több részletet szeretne megtudni ezekről a modulokról, látogasson el a hivatalos Apache weboldalra. A hivatalos dokumentáció további információkat nyújt a mod_proxy-ról és magáról az Apache-ról is.
Hogyan telepítsük az Apache-ot és a mod_proxy-t?
Íme néhány egyszerűen követhető lépés az Apache és a mod_proxy rendszerére történő telepítéséhez:
- A szerver előkészítése
Mindenekelőtt meg kell győződnie arról, hogy a felhőszervere elő van készítve. Ehhez frissítenie kell az operációs rendszert és a kapcsolódó szoftvereket a legújabb verziókra.
Az alkalmazások frissítéséhez használja a következő parancsokat:
|
1 2 3 |
apt install aptitude aptitude update aptitude -y upgrade |
- Az alapvető csomag telepítése
Miután előkészítette a szervert, fel kell szerelnie a legfontosabb eszközökkel. Ehhez telepítenie kell a build-essential csomagot. Ez a csomag tartalmazza az összes alapvető eszközt, amelyre szüksége van a dolgok forrásból történő telepítéséhez. Ezzel a paranccsal telepítheti:
|
1 |
aptitude install -y build-essential |
- Szerezze be a modulokat és függőségeket
Végezetül telepítenie kell a modulokat és a függőségeket. Ezt a következő parancs futtatásával teheti meg:
|
1 |
aptitude install -y apache2 apache2-bin libxml2-dev |
Modulok aktiválása: Hogyan konfiguráljuk az Apache-ot proxy kapcsolatokkal?
Mielőtt még hozzálátna az Apache konfigurálásához, aktiválnia kell a modulokat. Ezek a modulok segítenek a szükséges konfigurációk elvégzésében és a különböző feladatok végrehajtásában.
Először is ellenőriznie kell, hogy mely modulok működnek már a rendszerén. Nemcsak ezt, hanem azt is biztosítania kell, hogy minden modul megfelelően legyen telepítve és engedélyezhető legyen. Ennek a parancsnak a futtatása megmutatja az Apache szerveren elérhető összes modult:
|
1 |
a2enmod |

Mint látható, a válasz egy részletes lista formájában mutatja be az összes elérhető modult. Böngéssze át ezt a listát, és döntse el, mely modulokat szeretné aktiválni. Ahhoz, hogy ezt tudassa az Apache-csal, használhatja a következő parancsot, és beírhatja a kívánt modulokat a példák helyére:
|
1 |
proxy proxy_ajp proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html lbmethod_byrequests |
Másrészt az egyes modulokat külön-külön is aktiválhatja. Ehhez a következő parancsokat kell használnia:
|
1 2 3 4 5 6 7 8 9 10 |
a2enmod proxy a2enmod proxy_http a2enmod proxy_ajp a2enmod rewrite a2enmod deflate a2enmod headers a2enmod proxy_balancer a2enmod proxy_connect a2enmod proxy_html a2enmod lbmethod_byrequests |
Bizonyos modulok valószínűleg alapértelmezés szerint aktiválva vannak a szerverén. Felmerülhet a kérdés, hogyan ellenőrizheti, hogy engedélyezve vannak-e. Annak biztosítására, hogy a kívánt modul aktív legyen, megpróbálhatja kétszer aktiválni. Ez garantálja, hogy a modul engedélyezve van.
- Alapértelmezett konfigurációs beállítások módosítása
Először meg kell változtatnia az alapértelmezett konfigurációs beállításokat. Ehhez hozzá kell férnie az alapértelmezett konfigurációs fájlhoz, amely a 000-default.conf. Ez a fájl az /etc/apache2/sites-enabled könyvtárban található. Úgy kell módosítanunk, hogy megkapja a proxy funkciót.
Kezdésként nyissa meg a nano szövegszerkesztőt az alapértelmezett virtuális gazdagép szerkesztéséhez. Ezt a következő parancs futtatásával teheti meg:
|
1 |
nano /etc/apache2/sites-enabled/000-default.conf |
A mod_virtual host-ra és a mod_proxy-ra együttesen proxy virtuális gazdagépként fogunk hivatkozni. Most implementálhatja a következő konfigurációs beállításokat. Elvégezheti a szükséges módosításokat a rendszere és az igényei szerint:
|
1 2 3 4 5 6 7 |
<VirtualHost *:*> ProxyPreserveHost On ProxyPass / http://0.0.0.0:8080/ ProxyPassReverse / http://0.0.0.0:8080/ ServerName localhost </VirtualHost> |
A mentéshez és kilépéshez nyomja meg a Ctrl + X billentyűkombinációt, majd erősítse meg az Y gombbal.
- A terheléselosztási funkció aktiválása
Terheléselosztás segít a kapcsolatok hatékony elosztásában a proxyn. Ez egy nagyon hasznos ötlet, ha egyetlen helyett több háttéralkalmazás-szervert használ. A terheléselosztási funkció elosztja a kapcsolatot vagy a „terhelést”.
A funkció engedélyezéséhez meg kell ismételnie az útmutatóban korábban említett lépéseket. A virtuális gazdagép beállításakor azonban a következő konfigurációs beállításokat kell használnia:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<VirtualHost *:*> <Proxy balancer://mycluster> # Háttérszerverek meghatározása: # 1. szerver BalancerMember http://0.0.0.0:8080/ # 2. szerver BalancerMember http://0.0.0.0:8081/ </Proxy> # Alkalmazza a VH beállításokat tetszés szerint # Azonban konfigurálja a ProxyPass argumentumot úgy, # hogy a "mycluster"-t használja a terheléselosztáshoz ProxyPass / balancer://mycluster </VirtualHost> |
- Inverz proxy támogatás aktiválása
Szüksége lesz egy virtuális gazdagépre (virtual host), amely támogatja az inverz proxyt, ha SSL kapcsolatokkal és tanúsítványokkal dolgozik. Ennek a másodlagos virtuális gazdagépnek a következő beállításokkal kell rendelkeznie. El kell végeznie az előző lépésekben leírt utasításokat. Mindössze annyit kell tennie, hogy kicseréli a konfigurációs beállításokat az alább említettekre:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<VirtualHost *:443> SSLEngine On # SSL-tanúsítvány útvonalának beállítása # Használat: SSLCertificateFile /path/to/cert.pem SSLCertificateFile /etc/apache2/ssl/file.pem # Szerverek a kapcsolat proxyzásához, vagy; # Alkalmazásszerverek listája: # Használat: # ProxyPass / http://[IP-cím]:[port]/ # ProxyPassReverse / http://[IP-cím]:[port]/ # Példa: ProxyPass / http://0.0.0.0:8080/ ProxyPassReverse / http://0.0.0.0:8080/ # Vagy terheléselosztás: # ProxyPass / balancer://balancer_cluster_name </VirtualHost> |
A fenti konfiguráció működéséhez engedélyeznie kell az SSL modult is:
|
1 |
sudo a2enmod ssl |
- Apache újraindítása
Minden konfiguráció elkészült. Végül újraindíthatja az Apache szervert a módosítások alkalmazásához. Az Apache-t a következő parancs futtatásával indíthatja újra:
|
1 |
service apache2 restart |
Összegzés
Íme! Sikeresen beállított egy inverz proxy átjárót az Apache szerverén. Mostantól az Apache átirányítja a bejövő kapcsolatokat a háttérben lévő alkalmazásszerverekre.
A nagyszerű dolog ebben az, hogy a konfigurációs folyamat kevés erőfeszítést igényel és meglehetősen egyszerű. Most, hogy ismeri a pontos lépéseket, egyáltalán nem okozhat gondot az inverz proxy beállítása az Apache-ban.
Kellemes számítógéphasználatot!

Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.