Konfiguracja Apache2 Reverse Proxy dla Tomcata

Cześć!
W tym poście opiszę jak wygląda konfiguracja apache2 reverse proxy dla Tomcata w systemie Debian (Jessie)

Zaczynając od początku:

Dlaczego potrzebujesz Apache2 skoro Tomcat jest serwerem aplikacyjnym?

Problemem jest to, że próbując uruchomić Tomcata na porcie 80** (w systemie linuksowym) otrzymasz wyjątek
java.net.SocketException: Permission denied
Wynika to z tego, że na systemach Linux porty poniżej 1024 mogą być otwierane wyłącznie przez root’a. Jednak serwer Apache2 jest uprzywilejowany i może bez problemu działać na porcie 80. Można to wykorzystać i skonfigurować Apache2 jako reverse proxy, które będzie forwardować zapytania z portu 80 na port Tomcata i spowrotem.

W tym celu należy zainstalować apache2

apt-get install apache2

Następnie uruchomić odpowiednie mody niezbędne do przekierowywania żądań.

a2enmod proxy
a2enmod proxy_http

Kolejnym krokiem jest edycja pliku konfiguracyjnego apache2 domyślnie znajdującego się w folderze /etc/apache2/sites-enabled z domyślną nazwą „000-default.conf”
Proponuję skorzystać z edytora konsolowego nano

nano /etc/apache2/sites-enabled/000-default.conf

Następnie odnaleźć w pliku sekcję i dopisać ProxyPreserveHost On, ProxyPass / http://localhost:8080/ oraz ProxyPassReverse / http://localhost:8080/. Poniżej przykładowa konfiguracja

<VirtualHost *:80>

// powyżej ustawienia domeny
ProxyPreserveHost On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>

Ostatnim krokiem jest zrestartowanie apache2.

service apache2 restart

W ten sposób aplikacja uruchomiana na tomcacie powinna być dostępna na adresie http://adres_serwera.adres.

Mój post dostępny jest również na stackoverflow

** Port 80 jest standardowym portem protokołu HTTP tj. gdy w przeglądarce wpisujesz adres np. http://www.naos-software.pl tak naprawdę odwołujesz się do http://www.naos-software.pl:80/ – problematycznym byłoby utrzymywanie aplikacji gdzie użytkownik musi dopisywać sobie port aplikacji – w tym wypadku domyślny port dla http Tomcata to 8080, więc adres wyglądałby http://www.naos-software.pl:8080/

Dodaj komentarz