← Back to blog

Průvodce rozšířením mod_proxy: Použití Apache jako reverzní proxy

Category
Průvodce rozšířením mod_proxy: Použití Apache jako reverzní proxy

Úvod

Rozšíření třetích stran jsou nesmírně užitečnými doplňky. Výrazně zjednodušují a usnadňují konfiguraci a práci se serverem, jako je Apache HTTP. V případě potřeby můžete dokonce některé z těchto modulů v Apache použít ke spuštění reverzního proxy serveru. Můžete buď odebrat vrstvu z nastavení serveru, nebo použít modul k přesměrování připojení.

V této příručce se budeme zabývat serverem Apache a různými moduly spojenými s touto serverovou platformou, jako je mod_proxy. Podíváme se také na to, jak jej můžete použít jako reverzní proxy k přesměrování připojení na vaše backendové aplikační servery.

Co je Apache?

Apache je HTTP server který se velmi běžně používá pro účely související s webem. Můžete jej však použít z různých důvodů a na několika platformách. Můžete nainstalovat webový server Apache na Ubuntu podle našeho podrobného návodu. Dále postupujte podle tohoto návodu, abyste se dozvěděli, jak zabezpečit server Apache pomocí Let’s Encrypt. Můžete se také podívat na jak nastavit virtuální hostitele Apache na Ubuntu 20.04.

Funkce a implementaci Apache můžete dále prozkoumat pomocí externích modulů. Jedná se o moduly třetích stran, které můžete použít k provádění různých úkolů týkajících se připojení a konfigurací. Můžete například použít modul mod_rewrite k přepisování URL na základě pravidel. Dalším z těchto modulů je mod_proxy. Tento modul je v komunitě značně nevyužívaný. Především proto, že mnoho lidí si neuvědomuje rozsah jeho funkcí a aplikací. Mod_proxy, jak napovídá název, vám může pomoci nastavit bránu nebo proxy pro backendové servery.

Pojďme prozkoumat mod_proxy podrobně a jak jej můžete použít jako reverzní proxy.

Mod_proxy: Použití Apache jako reverzního proxy

Jak už asi tušíte, mod_proxy je modul. Je to modul v Apache, který můžete použít k vytváření a přesměrování různých připojení. Můžete jej také aktivovat a nakonfigurovat jako jakýkoli jiný modul ve vašem systému. Jedinečné na mod_proxy je, že se nejedná o jediný modul. Ve skutečnosti se skládá z kolekce různých modulů, které najdete níže. Každý z nich má svou vlastní funkci. Tímto způsobem vám mod_proxy poskytuje velkou rozmanitost funkcí.

Podívejte se na následující moduly mod_proxy:

mod_proxy

Toto je hlavní proxy modul. V Apache můžete tento modul použít ke konfiguraci a správě různých připojení. Může vám také pomoci přesměrovat připojení.

mod_proxy_http

Jak název napovídá, tento modul se zabývá protokoly HTTP a HTTPS. Tento modul můžete použít k implementaci funkcí proxy pro tyto protokoly.

mod_proxy_ftp

Mod_proxy_ftp funguje, když pracujete s protokolem FTP.

mod_proxy_connect

Tento modul je užitečný, když provádíte SSL tunelování.

mod_proxy_ajp

Mod_proxy_ajp můžete použít, když pracujete s protokolem AJP.

mod_proxy_wstunnel

To je užitečné, když pracujete s webovými sockety jako WS a WSS.

mod_proxy_balancer

Pokud chcete získat přístup k funkcím vyvažování zátěže a clusteringu, můžete použít tento modul.

mod_cache

Modul mod_cache je podle očekávání užitečný pro účely ukládání do mezipaměti.

mod_headers

Tento modul můžete použít ke správě hlaviček, které vytváříte pomocí protokolu HTTP.

mod_deflate

Tento modul se používá pro účely komprese.

Pokud se chcete o těchto modulech dozvědět ještě více podrobností, můžete navštívit oficiální webové stránky Apache. Oficiální dokumentace vám poskytne více informací o mod_proxy a také o samotném Apache.

Jak nainstalovat Apache a mod_proxy?

Zde je několik snadných kroků k instalaci Apache a mod_proxy do vašeho systému:

  1. Příprava serveru

Nejprve se musíte ujistit, že je váš cloudový server připraven. Chcete-li to provést, musíte aktualizovat operační systém a související software na nejnovější verze.

K upgradu aplikací použijte následující příkazy:

  1. Instalace balíčku Essentials

Jakmile připravíte svůj server, musíte jej vybavit základními nástroji. Za tímto účelem je třeba nainstalovat balíček build-essential. Tento balíček se skládá ze všech základních nástrojů, které potřebujete k instalaci věcí ze zdrojového kódu. Můžete jej nainstalovat pomocí tohoto příkazu:

  1. Získejte moduly a závislosti

Na závěr je třeba nainstalovat moduly a závislosti. Můžete tak učinit spuštěním následujícího příkazu:

Aktivace modulů: Jak nakonfigurovat Apache s proxy připojeními?

Ještě než se dostanete ke konfiguraci Apache, musíte aktivovat své moduly. Tyto moduly vám pomouhou provést potřebná nastavení a plnit různé úkoly.

Nejprve musíte zkontrolovat, které moduly již ve vašem systému fungují. Kromě toho se také musíte ujistit, že jsou všechny moduly správně nainstalovány a lze je povolit. Spuštěním tohoto příkazu se zobrazí všechny dostupné moduly na vašem serveru Apache:

a2enmod output

Jak vidíte, odpověď vám ukáže všechny dostupné moduly v podobě podrobného seznamu. Projděte si tento seznam a určete, které moduly chcete aktivovat. Chcete-li to Apache sdělit, můžete použít následující příkaz a místo příkladů zadat požadované moduly:

Na druhou stranu můžete také aktivovat každý modul samostatně. K tomu byste použili následující příkazy:

Některé moduly budou na vašem serveru pravděpodobně aktivovány ve výchozím nastavení. Možná vás zajímá, jak si můžete ověřit, že jsou povoleny. Chcete-li se ujistit, že je požadovaný modul aktivní, můžete se jej pokusit aktivovat dvakrát. To zaručí, že je modul povolen.

  1. Změna výchozího nastavení konfigurace

Nejprve musíte změnit výchozí nastavení konfigurace. Chcete-li tak učinit, musíte přistoupit k výchozímu konfiguračnímu souboru, kterým je 000-default.conf. Tento soubor se nachází v adresáři /etc/apache2/sites-enabled. Musíme jej upravit tak, aby získal funkci proxy.

Začnete otevřením textového editoru nano pro úpravu výchozího virtuálního hostitele. Můžete to provést spuštěním tohoto příkazu:

Moduly mod_virtual host a mod_proxy budeme společně označovat jako proxy virtuální hostitel. Nyní můžete implementovat následující nastavení konfigurace. Můžete provést potřebné změny, jak uznáte za vhodné pro váš systém a vaše požadavky:

Uložit a odejít můžete stisknutím Ctrl + X a potvrzením pomocí Y.

  1. Aktivace funkce vyrovnávání zátěže

Vyrovnávání zátěže vám pomáhá efektivně distribuovat připojení na vaší proxy. To je velmi užitečné v případech, kdy místo jednoho backendového aplikačního serveru používáte více serverů. Funkce vyrovnávání zátěže rozdělí připojení neboli „zátěž“.

Chcete-li tuto funkci povolit, musíte zopakovat kroky uvedené dříve v této příručce. Při nastavování virtuálního hostitele však musíte použít následující nastavení konfigurace:

  1. Aktivace podpory reverzního proxy

Pokud pracujete s SSL připojeními a certifikáty, budete muset zajistit, aby virtuální hostitel podporoval váš reverzní proxy. Tento sekundární virtuální hostitel musí mít následující nastavení. Budete muset provést pokyny z předchozích kroků. Stačí pouze nahradit možnosti konfigurace těmi, které jsou uvedeny níže:

Pro fungování výše uvedené konfigurace budete také muset povolit modul SSL:

  1. Restartujte Apache

Všechny konfigurace jsou hotové. Nakonec můžete restartovat server Apache, aby se změny projevily. Apache můžete restartovat spuštěním následujícího příkazu:

Závěr

A je to! Právě jste úspěšně nastavili bránu reverzního proxy ve vašem serveru Apache. Nyní bude Apache přesměrovávat příchozí připojení na vaše aplikační servery v backendu.

Skvělé na tom je, že proces konfigurace vyžaduje minimální úsilí a je poměrně přímočarý. Nyní, když znáte přesné kroky, jak toho dosáhnout, byste neměli mít s nastavením reverzního proxy v Apache vůbec žádné problémy.

Příjemnou práci!

Akshay Nagpal

Autor · CloudSigma

Komentáře

Zatím žádné komentáře. Buďte první.