← Back to blog

Vodič za proširenje mod_proxy: Korištenje Apachea kao reverznog proxyja

Category
Vodič za proširenje mod_proxy: Korištenje Apachea kao reverznog proxyja

Uvod

Proširenja trećih strana iznimno su korisni dodaci. Ona čine vaše iskustvo konfiguriranja i rada s poslužiteljem, kao što je Apache HTTP, mnogo jednostavnijim i lakšim. U slučaju potrebe, možete čak koristiti neke od ovih modula u Apacheu za pokretanje reverznog proxyja. Možete ukloniti sloj iz postavki poslužitelja ili možete koristiti modul za preusmjeravanje veza.

U ovom vodiču raspravljat ćemo o Apacheu i raznim modulima povezanim s platformom poslužitelja, kao što je mod_proxy. Također ćemo vidjeti kako ga možete koristiti kao reverzni proxy za preusmjeravanje veza na vaše pozadinske aplikacijske poslužitelje.

Što je Apache?

Apache je HTTP poslužitelj koji se vrlo često koristi u svrhe povezane s webom. No možete ga koristiti iz raznih razloga i na nekoliko platformi. Možete instalirati svoj Apache web poslužitelj na Ubuntu prateći naš vodič korak-po-korak. Nadalje, pratite ovaj vodič kako biste naučili kako osigurati svoj Apache poslužitelj pomoću Let’s Encrypt. Također možete pogledati kako postaviti Apache virtualne domaćine na Ubuntu 20.04.

Možete dodatno istražiti Apacheve funkcije i implementaciju uz pomoć vanjskih modula. To su moduli trećih strana koje možete koristiti za obavljanje raznih zadataka koji se odnose na veze i konfiguracije. Na primjer, možete koristiti modul mod_rewrite za prepisivanje URL-ova na temelju pravila. Još jedan od tih modula je mod_proxy. Potonji modul se u zajednici uglavnom nedovoljno koristi. Prvenstveno zato što mnogi ljudi nisu svjesni opsega njegove funkcionalnosti i primjene. Mod_proxy, kao što i samo ime sugerira, može vam pomoći da postavite mrežni prolaz ili proxy za pozadinske poslužitelje.

Istražimo’ mod_proxy detaljno i kako ga možete koristiti kao reverzni proxy.

Mod_proxy: Korištenje Apachea kao reverznog proxyja

Kao što vjerojatno možete zaključiti, mod_proxy je modul. To je modul u Apacheu koji možete koristiti za stvaranje i preusmjeravanje raznih veza. Također ga možete aktivirati i konfigurirati kao i bilo koji drugi modul na vašem sustavu. Jedinstvena stvar kod mod_proxyja je ta što to nije samo jedan modul. Zapravo, sastoji se od zbirke različitih modula koje ćete pronaći u nastavku. Svaki od njih ima svoju funkciju. Na taj način mod_proxy pruža veliku raznolikost u funkcionalnosti.

Pogledajte sljedeće mod_proxy module:

mod_proxy

Ovo je glavni proxy modul. U Apacheu možete koristiti ovaj modul za konfiguriranje i upravljanje raznim vezama. Također vam može pomoći u preusmjeravanju veza.

mod_proxy_http

Kao što naziv sugerira, ovaj se modul bavi HTTP i HTTPS protokolima. Možete koristiti ovaj modul za implementaciju proxy značajki ovih protokola.

mod_proxy_ftp

Mod_proxy_ftp radi kada imate posla s FTP protokolom.

mod_proxy_connect

Ovaj je modul koristan kada izvodite SSL tuneliranje.

mod_proxy_ajp

Možete koristiti mod_proxy_ajp kada radite s AJP protokolom.

mod_proxy_wstunnel

Ovo je korisno kada radite s web-socketima kao što su WS i WSS.

mod_proxy_balancer

Ako želite pristupiti značajkama raspodjele opterećenja i grupiranja u klastere, možete koristiti ovaj modul.

mod_cache

Modul mod_cache je koristan, kao što je i očekivano, za potrebe predmemoriranja.

mod_headers

Možete koristiti ovaj modul za upravljanje zaglavljima koja stvarate pomoću HTTP protokola.

mod_deflate

Ovaj se modul koristi za potrebe kompresije.

Ako želite saznati još više pojedinosti o ovim modulima, možete posjetiti službenu web stranicu Apachea. Službena dokumentacija također vam pruža više informacija o mod_proxyju i samom Apacheu.

Kako instalirati Apache i mod_proxy?

Evo nekoliko jednostavnih koraka za instalaciju Apachea i mod_proxyja na vaš sustav:

  1. Pripremite poslužitelj

Prije svega, morate se uvjeriti da je vaš poslužitelj u oblaku pripremljen. Da biste to učinili, morate ažurirati svoj operativni sustav i povezani softver na najnovije verzije.

Koristite sljedeće naredbe za nadogradnju svojih aplikacija:

  1. Instalirajte osnovni paket

Nakon što pripremite svoj poslužitelj, trebate ga opremiti osnovnim alatima. U tu svrhu trebate instalirati paket build-essential. Ovaj se paket sastoji od svih osnovnih alata koji su vam potrebni za instalaciju softvera iz izvornog koda. Možete ga instalirati ovom naredbom:

  1. Preuzmite module i ovisnosti

Na kraju, trebate instalirati module i ovisnosti. To možete učiniti pokretanjem sljedeće naredbe:

Aktiviranje modula: Kako konfigurirati Apache s proxy vezama?

Prije nego što uopće počnete konfigurirati Apache, morate aktivirati svoje module. Ovi moduli pomoći će vam da napravite potrebne konfiguracije i izvršite različite zadatke.

Za početak, trebate provjeriti koji moduli već rade na vašem sustavu. Ne samo to, već također morate osigurati da su svi moduli ispravno instalirani i da se mogu omogućiti. Pokretanje ove naredbe prikazat će sve dostupne module na vašem Apache poslužitelju:

a2enmod output

Kao što vidite, odgovor vam prikazuje sve dostupne module u obliku detaljnog popisa. Pregledajte ovaj popis i odredite koje module želite aktivirati. Kako biste obavijestili Apache, možete upotrijebiti sljedeću naredbu i unijeti željene module umjesto primjera:

S druge strane, možete aktivirati i svaki modul pojedinačno. Da biste to učinili, upotrijebili biste sljedeće naredbe:

Određeni moduli vjerojatno će biti aktivirani prema zadanim postavkama na vašem poslužitelju. Možda se pitate kako možete potvrditi da su omogućeni. Kako biste bili sigurni da je željeni modul aktivan, možete ga pokušati aktivirati dvaput. To će jamčiti da je modul omogućen.

  1. Izmjena zadanih konfiguracijskih postavki

Prvo morate promijeniti zadane konfiguracijske postavke. Da biste to učinili, morate pristupiti zadanoj konfiguracijskoj datoteci koja je 000-default.conf. Ova se datoteka nalazi unutar /etc/apache2/sites-enabled. Moramo je izmijeniti tako da dobije funkciju proxyja.

Započet ćete otvaranjem uređivača teksta nano kako biste uredili zadani virtualni poslužitelj. To možete učiniti pokretanjem ove naredbe:

Zajednički ćemo nazivati mod_virtual host i mod_proxy kao proxy virtualni poslužitelj. Sada možete primijeniti sljedeće konfiguracijske postavke. Možete napraviti potrebne promjene kako smatrate prikladnim za svoj sustav i svoje zahtjeve:

Možete spremiti i izaći nakon što pritisnete Ctrl + X i potvrdite s Y.

  1. Aktivirajte značajku raspodjele opterećenja

Raspodjela opterećenja pomaže vam u učinkovitoj raspodjeli veza na vašem proxyju. Ovo je vrlo korisna ideja kada koristite više pozadinskih aplikacijskih poslužitelja umjesto samo jednog. Značajka raspodjele opterećenja raspodijelit će vezu ili „opterećenje”.

Da biste omogućili ovu značajku, morate ponoviti korake koji su prethodno navedeni u ovom vodiču. Međutim, trebate koristiti sljedeće konfiguracijske postavke prilikom postavljanja virtualnog poslužitelja:

  1. Aktivirajte podršku za reverzni proxy

Morat ćete omogućiti podršku virtualnog poslužitelja za vaš reverzni proxy ako radite s SSL vezama i certifikatima. Ovaj sekundarni virtualni poslužitelj mora imati sljedeće postavke. Morat ćete izvršiti upute iz prethodnih koraka. Sve što trebate učiniti je zamijeniti konfiguracijske opcije onima navedenima u nastavku:

Također ćete morati omogućiti SSL modul kako bi gornja konfiguracija radila:

  1. Ponovno pokrenite Apache

Sve konfiguracije su dovršene. Na kraju, možete ponovno pokrenuti svoj Apache poslužitelj kako biste primijenili promjene. Apache možete ponovno pokrenuti pokretanjem sljedeće naredbe:

Zaključak

Voila! Upravo ste uspješno postavili gateway za reverzni proxy na svom Apache poslužitelju. Sada će Apache preusmjeravati dolazne veze na vaše aplikacijske poslužitelje u pozadini.

Sjajna stvar u vezi ovoga je što proces konfiguracije zahtijeva malo truda i prilično je jednostavan. Sada kada znate točne korake kako doći do tamo, ne biste trebali imati nikakvih problema s postavljanjem reverznog proxyja u Apacheu.

Sretno s radom!

Akshay Nagpal

Autor · CloudSigma

Komentari

Još nema komentara. Budite prvi.