Jak skonfigurować Apache jako odwrotną proxy

Jak skonfigurować Apache jako odwrotną proxy

Odwrotny serwer proxy to serwer WWW, który akceptuje żądania klienta i prowadzi je do odpowiedniego serwera zaplecza. W takim przypadku odwrotne proxy to serwer skierowany do Internetu, a aplikacje backendowe działają na LocalHost lub LAN Network.

Apache to najpopularniejszy serwer WWW, który można również skonfigurować jako odwrotny serwer proxy. W tym samouczku dowiesz się o konfiguracji serwera proxy Apache Reverse w systemie Linux.

Scenariusz Nework

Mamy dwie aplikacje, które działają z serwerem Tomcat w Port LocalHost 8080. Bez względu na to, czy aplikacje działają z Tomcat, czy jakakolwiek inna usługa, taka jak Nodejs itp. Obie adresy URL aplikacji lokalnych to:

  • http: // localhost: 8080/demo1
  • http: // localhost: 8080/demo2

Teraz zainstalowałem serwer Apache na tym samym hoście działającym na porcie 80. Serwer Apache akceptuje żądania od użytkowników Internetu i przekazuje je do odpowiednich aplikacji działających na zapleczu. Musimy skonfigurować proxy, aby przekazywać żądania w następujący sposób:

  • http: // przykład.com >> http: // localhost: 8080/demo1/
  • http: // przykład.netto >> http: // localhost: 8080/demo2/
  • http: // domena.com/demo1/>> http: // localhost: 8080/demo1/
  • http: // domena.com/demo2/>> http: // localhost: 8080/demo2/

Aby uzyskać lepsze zrozumienie, zobacz poniższy schemat:

Więc uruchommy konfigurację:

Krok 1: Ustaw moduł proxy Apache

Domyślnie ten moduł jest włączony w Apache dla użytkowników, którzy zainstalowali za pomocą pakietów RPM. Użytkownicy opartymi na debiana muszą ręcznie umożliwić moduły.

  • Systemy oparte na Redhat: edytuj plik konfiguracyjny proxy /etc/httpd/conf.moduły.D/00-Proxy.conf odkształcenie następujących wpisów. Jeśli nie jest dostępne, dodaj je.
    Moduły loadmodule Proxy_Module/mod_proxy.więc moduły loadmodule Proxy_Http_Module/mod_proxy_http.Więc 
  • Systemy oparte na debian: użyj następującego polecenia, aby włączyć moduł proxy z Apache.
    sudo a2enmod proxy proxy_http  

Po włączeniu modułów musisz ponownie uruchomić usługi Apache, aby natychmiast zastosować zmiany.

Krok 2: Skonfiguruj wirtualny host Apache

Teraz zacznie współpracować z wirtualnym hostem. Tworzymy trzy wirtualne hosty jak poniżej. Tworzysz tylko to, co jest wymagane z potrzebnymi modyfikacjami. Edytuj główny plik konfiguracyjny Apache i zacznij od konfiguracji.

  • Pierwszy przykład wirtualnego hosta:
  • Aby przekazać wszystkie wnioski wysłane na przykład.com to backend tomcat Server odpowiadający aplikacja, taka jak:

    • http: // przykład.com >> http: // localhost: 8080/demo1/

    Skonfiguruj pierwszy wirtualny host jak poniżej:

    Przykład Servername.Com ProxyRequests na proxypass/http: // localhost: 8080/demo1/proxypassreverse/http: // localhost: 8080/demo1/
    12345678 Przykład Servername.Com ProxyRequests na proxypass/http: // localhost: 8080/demo1/proxypassreverse/http: // localhost: 8080/demo1/

  • Drugi przykład wirtualnego hosta:
  • Aby przekazać wszystkie wnioski wysłane na przykład.NET do backend serwer Tomcat Odpowiedni aplikacja, taka jak:

    • http: // przykład.netto >> http: // localhost: 8080/demo2/

    Skonfiguruj wirtualny host.

    Przykład Servername.Net ProxyRequests na proxypass/http: // localhost: 8080/demo2/proxypassreverse/http: // localhost: 8080/demo2/
    12345678 Przykład Servername.Net ProxyRequests na proxypass/http: // localhost: 8080/demo2/proxypassreverse/http: // localhost: 8080/demo2/

  • Trzeci wirtualny przykład hosta:
  • Aby przekazać wszystkie żądania wysłane do subdirectory/demo1/lub/demo2 na domenie http: //.com to back-end tomcat odpowiadające aplikacje, takie jak:

    • http: // domena.com/demo1/>> http: // localhost: 8080/demo1/
    • http: // domena.com/demo2/>> http: // localhost: 8080/demo2/

    Skonfiguruj wirtualny host.

    Domena Servername.com ProxyRequests na proxypass/demo1 http: // localhost: 8080/demo1/proxypassreverse/demo1 http: // localhost: 8080/demo1/proxypass/demo2 http: // localhost: 8080/demo2/proxypassReverse/Demo2 http: // localHost: // : 8080/ demo2/ wymagane przyznane wszystkie wymagane przyznane wszystkie
    1234567891011121314151617 Domena Servername.com ProxyRequests na proxypass/demo1 http: // localhost: 8080/demo1/proxypassreverse/demo1 http: // localhost: 8080/demo1/proxypass/demo2 http: // localhost: 8080/demo2/proxypassReverse/Demo2 http: // localHost: // : 8080/demo2/ Wymagane wszystkie Wymagane wszystkie

Krok 3: Uruchom ponownie Apache, aby zastosować zmiany

Po pomyślnym utworzeniu hosta Apache Virtual musisz ponownie uruchomić usługę Apache. Użyj następujących poleceń, aby ponownie uruchomić usługę Apache na podstawie systemu operacyjnego.

  • Systemy oparte na Redhat:
    sudo systemctl restart httpd  
  • Systemy oparte na debin:
    sudo systemctl restart apache2  

Wniosek

Ten post na blogu pomaga skonfigurować Apache jako odwrotny serwer proxy w systemach opartych na Debian lub Redhat. Odwrotna proxy tworzy pomost między serwerem WWW skierowanym do Internetu a aplikacją internetową działającą jako usługa zaplecza.