← Back to blog

Sprievodca rozšírením mod_proxy: Použitie Apache ako reverzného proxy

Category
Sprievodca rozšírením mod_proxy: Použitie Apache ako reverzného proxy

Úvod

Rozšírenia tretích strán sú mimoriadne užitočnými doplnkami. Vďaka nim je konfigurácia a práca so serverom, ako je napríklad Apache HTTP, oveľa jednoduchšia a pohodlnejšia. V prípade potreby môžete dokonca použiť niektoré z týchto modulov v Apache na spustenie reverzného proxy servera. Môžete buď odstrániť vrstvu z nastavenia servera, alebo môžete použiť modul na presmerovanie pripojení.

V tejto príručke budeme diskutovať o Apache a rôznych moduloch spojených s touto serverovou platformou, ako je napríklad mod_proxy. Uvidíme tiež, ako ho môžete použiť ako reverzný proxy na presmerovanie pripojení na vaše backendové aplikačné servery.

Čo je Apache?

Apache je HTTP server ktorý sa veľmi bežne používa na účely súvisiace s webom. Môžete ho však použiť z rôznych dôvodov a na viacerých platformách. Môžete nainštalovať svoj webový server Apache na Ubuntu podľa nášho podrobného návodu. Okrem toho postupujte podľa tohto návodu, aby ste sa dozvedeli, ako zabezpečiť svoj server Apache pomocou Let’s Encrypt. Môžete si tiež pozrieť ako nastaviť virtuálnych hostiteľov Apache na Ubuntu 20.04.

Funkcie a implementáciu Apache môžete ďalej preskúmať pomocou externých modulov. Ide o moduly tretích strán, ktoré môžete použiť na vykonávanie rôznych úloh týkajúcich sa pripojení a konfigurácií. Môžete napríklad použiť modul mod_rewrite na prepisovanie URL adries na základe pravidiel. Ďalším z týchto modulov je mod_proxy. Tento modul je v komunite do značnej miery nevyužívaný. Predovšetkým preto, že veľa ľudí si neuvedomuje rozsah jeho funkcií a aplikácií. Mod_proxy, ako napovedá názov, vám môže pomôcť vytvoriť bránu alebo proxy pre backendové servery.

Poďme preskúmať mod_proxy podrobne a to, ako ho môžete použiť ako reverzný proxy.

Mod_proxy: Použitie Apache ako reverzného proxy

Ako už pravdepodobne viete, mod_proxy je modul. Je to modul v Apache, ktorý môžete použiť na vytváranie a presmerovanie rôznych pripojení. Môžete ho tiež aktivovať a konfigurovať ako akýkoľvek iný modul vo vašom systéme. Jedinečnosť mod_proxy spočíva v tom, že to nie je len jeden modul. V skutočnosti pozostáva z kolekcie rôznych modulov, ktoré nájdete nižšie. Každý z nich má svoju vlastnú funkciu. Týmto spôsobom vám mod_proxy poskytuje veľkú rozmanitosť funkcií.

Pozrite sa na nasledujúce moduly mod_proxy:

mod_proxy

Toto je hlavný proxy modul. V Apache môžete tento modul použiť na konfiguráciu a správu rôznych pripojení. Môže vám tiež pomôcť presmerovať pripojenia.

mod_proxy_http

Ako napovedá názov, tento modul sa zaoberá protokolmi HTTP a HTTPS. Tento modul môžete použiť na implementáciu funkcií proxy pre tieto protokoly.

mod_proxy_ftp

Mod_proxy_ftp funguje vtedy, keď pracujete s protokolom FTP.

mod_proxy_connect

Tento modul je užitočný, keď vykonávate SSL tunelovanie.

mod_proxy_ajp

Mod_proxy_ajp môžete použiť, keď pracujete s protokolom AJP.

mod_proxy_wstunnel

To je užitočné, keď pracujete s webovými socketmi ako WS a WSS.

mod_proxy_balancer

Ak chcete získať prístup k funkciám vyvažovania záťaže (load balancing) a klastrovania, môžete použiť tento modul.

mod_cache

Modul mod_cache je podľa očakávania užitočný na účely ukladania do vyrovnávacej pamäte (caching).

mod_headers

Tento modul môžete použiť na správu hlavičiek, ktoré vytvárate pomocou protokolu HTTP.

mod_deflate

Tento modul sa používa na účely kompresie.

Ak sa chcete dozvedieť ešte viac podrobností o týchto moduloch, môžete navštíviť oficiálnu webovú stránku Apache. Oficiálna dokumentácia vám poskytne viac informácií o mod_proxy a samotnom Apache.

Ako nainštalovať Apache a mod_proxy?

Tu je niekoľko jednoduchých krokov na inštaláciu Apache a mod_proxy vo vašom systéme:

  1. Príprava servera

V prvom rade sa musíte uistiť, že váš cloudový server je pripravený. Ak to chcete urobiť, musíte aktualizovať operačný systém a súvisiaci softvér na najnovšie verzie.

Na aktualizáciu aplikácií použite nasledujúce príkazy:

  1. Inštalácia základného balíka

Keď už máte svoj server pripravený, musíte ho vybaviť základnými nástrojmi. Na tento účel musíte nainštalovať balík build-essential. Tento balík pozostáva zo všetkých základných nástrojov, ktoré potrebujete na inštaláciu vecí zo zdrojového kódu. Môžete ho nainštalovať pomocou tohto príkazu:

  1. Získajte moduly a závislosti

Na záver musíte nainštalovať moduly a závislosti. Môžete tak urobiť spustením nasledujúceho príkazu:

Aktivácia modulov: Ako nakonfigurovať Apache s proxy pripojeniami?

Predtým, ako sa vôbec dostanete ku konfigurácii Apache, musíte aktivovať svoje moduly. Tieto moduly vám pomôžu vykonať potrebné konfigurácie a vykonávať rôzne úlohy.

Na začiatok musíte skontrolovať, ktoré moduly už vo vašom systéme fungujú. Okrem toho sa musíte uistiť, že všetky moduly sú správne nainštalované a dajú sa povoliť. Spustením tohto príkazu sa zobrazia všetky dostupné moduly na vašom serveri Apache:

a2enmod output

Ako vidíte, odpoveď vám zobrazí všetky dostupné moduly vo forme podrobného zoznamu. Prejdite si tento zoznam a určte, ktoré moduly chcete aktivovať. Aby ste o tom dali Apache vedieť, môžete použiť nasledujúci príkaz a namiesto príkladov zadať požadované moduly:

Na druhej strane môžete aktivovať každý modul aj samostatne. Na to by ste použili nasledujúce príkazy:

Niektoré moduly budú na vašom serveri pravdepodobne aktivované predvolene. Možno sa pýtate, ako môžete potvrdiť, že sú povolené. Aby ste sa uistili, že požadovaný modul je aktívny, môžete sa ho pokúsiť aktivovať dvakrát. To zaručí, že modul bude povolený.

  1. Zmena predvolených nastavení konfigurácie

Najprv musíte zmeniť predvolené nastavenia konfigurácie. Ak to chcete urobiť, musíte získať prístup k predvolenému konfiguračnému súboru, ktorým je 000-default.conf. Tento súbor sa nachádza v priečinku /etc/apache2/sites-enabled. Musíme ho upraviť tak, aby získal funkciu proxy.

Začnete otvorením textového editora nano na úpravu predvoleného virtuálneho hostiteľa. Môžete to urobiť spustením tohto príkazu:

Moduly mod_virtual host a mod_proxy budeme spoločne označovať ako proxy virtuálny hostiteľ. Teraz môžete implementovať nasledujúce nastavenia konfigurácie. Môžete vykonať potrebné zmeny, ktoré uznáte za vhodné pre váš systém a vaše požiadavky:

Uložiť a odísť môžete po stlačení Ctrl + X a potvrdení pomocou Y.

  1. Aktivácia funkcie vyrovnávania záťaže

Vyrovnávanie záťaže vám pomáha efektívne distribuovať pripojenia na vašom proxy. Je to veľmi užitočný nápad, keď namiesto jedného aplikačného servera na pozadí používate viacero. Funkcia vyrovnávania záťaže rozdelí pripojenie alebo „záťaž“.

Ak chcete povoliť túto funkciu, musíte zopakovať kroky uvedené vyššie v tejto príručke. Pri nastavovaní virtuálneho hostiteľa však musíte použiť nasledujúce nastavenia konfigurácie:

  1. Aktivovať podporu reverzného proxy

Budete musieť zabezpečiť, aby virtuálny hostiteľ podporoval vaše reverzné proxy, ak pracujete s SSL pripojeniami a certifikátmi. Tento sekundárny virtuálny hostiteľ musí mať nasledujúce nastavenia. Budete musieť vykonať pokyny z predchádzajúcich krokov. Stačí len nahradiť možnosti konfigurácie tými, ktoré sú uvedené nižšie:

Pre fungovanie vyššie uvedenej konfigurácie budete musieť povoliť aj modul SSL:

  1. Reštartovať Apache

Všetky konfigurácie sú dokončené. Nakoniec môžete reštartovať server Apache, aby sa zmeny prejavili. Apache môžete reštartovať spustením nasledujúceho príkazu:

Záver

Voila! Práve ste úspešne nastavili bránu reverzného proxy vo vašom serveri Apache. Teraz bude Apache presmerovávať prichádzajúce pripojenia na vaše aplikačné servery v backende.

Skvelé na tom je, že proces konfigurácie vyžaduje len málo úsilia a je pomerne jednoduchý. Teraz, keď poznáte presné kroky, ako to dosiahnuť, by ste nemali mať žiadne problémy s nastavením reverzného proxy v Apache.

Príjemnú prácu s počítačom!

Akshay Nagpal

Autor · CloudSigma

Komentáre

Zatiaľ žiadne komentáre. Buďte prvý.