Jak skonfigurować odwrotne proxy dla WordPress
Opublikowany: 2023-01-16Jako administrator WordPress możesz znaleźć się w sytuacji, w której musisz skonfigurować odwrotny serwer proxy. Na szczęście skonfigurowanie odwrotnego serwera proxy jest stosunkowo łatwe i istnieje kilka różnych pakietów oprogramowania, z których można korzystać. Ten artykuł zawiera krótkie omówienie konfigurowania odwrotnego serwera proxy dla Twojej witryny WordPress za pomocą NGINX.
Co to są serwery Reverse Proxy i dlaczego warto ich używać w WordPress
Odwrotny serwer proxy pobiera zasoby z jednego lub większej liczby serwerów w imieniu klienta. Zasoby te są następnie dostarczane do klienta bez możliwości stwierdzenia, że pochodzą z serwera proxy.
Odwrotne serwery proxy są przydatne, ponieważ mogą ukryć istnienie i charakterystykę serwera źródłowego. Na przykład odwrotne proxy może zapewnić dodatkową warstwę bezpieczeństwa, wydajności i niezawodności aplikacji internetowych, chroniąc je przed złośliwymi żądaniami lub dużym ruchem.
Jeśli chcesz dowiedzieć się więcej, w Internecie dostępnych jest wiele zasobów, które pomogą Ci dowiedzieć się więcej o odwrotnych serwerach proxy. Istnieje kilka typowych powodów, dla których może być konieczne skonfigurowanie odwrotnego serwera proxy:
- Poprawiona wydajność witryny dzięki buforowaniu zawartości
Typowym przypadkiem użycia odwrotnego proxy jest buforowanie często żądanych treści WordPress. Na przykład, jeśli witryna internetowa jest obsługiwana przez grupę serwerów WWW, odwrotne proxy może buforować zawartość statyczną witryny (taką jak strony HTML, obrazy i pliki CSS) na pojedynczym serwerze. Może to poprawić wydajność witryny WordPress, ponieważ zawartość nie musi być pobierana z serwerów sieciowych za każdym razem, gdy użytkownik żąda strony.
- Odciążanie zadań intensywnie obciążających procesor, takich jak zmiana rozmiaru obrazu
Odwrotny serwer proxy może odciążyć serwer WordPress od zadań obciążających procesor, takich jak zmiana rozmiaru obrazu, poprzez przekazywanie żądań wykonania tych zadań do serwera, który jest lepiej przygotowany do ich obsługi. Może to pomóc poprawić wydajność witryny WordPress, zwalniając zasoby na serwerze WordPress do innych zadań.
- Poprawione bezpieczeństwo dzięki filtrowaniu żądań i blokowaniu złośliwego ruchu
Odwrotny serwer proxy może poprawić bezpieczeństwo WordPress poprzez filtrowanie żądań i blokowanie złośliwego ruchu. Filtrując żądania, odwrotny serwer proxy może blokować dostęp do określonych adresów IP lub regionów, o których wiadomo, że są powiązane ze złośliwą działalnością. Blokując złośliwy ruch, odwrotny serwer proxy może pomóc złagodzić skutki ataków DDoS i innych ataków wymierzonych w witryny WordPress.
- Udostępnianie WordPressa z innej domeny lub subdomeny
Jak wspomniano powyżej, odwrotny serwer proxy pobiera zasoby z jednego lub więcej serwerów w imieniu klienta. Tymi zasobami mogą być pliki dowolnego typu, ale najczęściej są to strony internetowe. Odwrotny serwer proxy udostępnia następnie klientowi te zasoby, które wyglądają tak, jakby pochodziły z samego serwera. Odbywa się to poprzez skonfigurowanie odwrotnego serwera proxy do przekazywania żądań treści WordPress do serwera WordPress, jednocześnie dając klientowi złudzenie, że uzyskuje dostęp do treści bezpośrednio z lokalnego serwera proxy.
Najpopularniejsze serwery Reverse Proxy
Według W3Techs około 83% stron internetowych nie korzysta z usługi odwrotnego proxy. Pozostałe 17% to głównie sieci CDN, ponieważ odwrotne serwery proxy zazwyczaj ukrywają swoją obecność ze względów bezpieczeństwa, co utrudnia usługom monitorowania witryn internetowych, takim jak W3Techs, określenie, które z nich są najczęściej używane. Oto trzy najczęściej używane rozwiązania odwrotnego proxy:
- NGINX
NGINX to serwer WWW, który oferuje wiele zalet, takich jak zwiększona wydajność, bezpieczeństwo, niezawodność i skalowalność. Możesz otrzymać ją za darmo lub skorzystać z komercyjnej wersji NGINX Plus dla firmowych stron internetowych z możliwościami konfiguracji opartymi na API. Sporo dużych firm korzysta z NGINX – między innymi Cloudflare, Netflix, MaxCDN. Konfiguracja NGINX jako odwrotnego proxy jest łatwa i możesz ją spersonalizować, aby spełniała Twoje potrzeby.
- Lakier
Varnish to rodzaj oprogramowania typu open source, które może poprawić wydajność stron internetowych o dużym natężeniu ruchu. Działa jako odwrotne proxy, system równoważenia obciążenia, zapora sieciowa aplikacji i serwer uwierzytelniania brzegowego, a także obsługuje Edge Side Include (ESI) w celu szybszego ładowania strony. Możesz użyć go jako front-endu dla serwerów WWW NGINX lub Apache lub skonfigurować go jako odwrotne proxy dla WordPress.
- Serwer ruchu Apache
Apache Traffic Server, opcja open-source znana ze swojej wydajności i pojemności, została po raz pierwszy opracowana przez Yahoo! jako usługa komercyjna, zanim przekazali ją Fundacji Apache. Jest obecnie używany przez wiele sieci treści i CDN, w tym Akami, Apple, Comcast, LinkedIn i Yahoo w celu ulepszenia swoich systemów. Ponadto serwer Apache HTTP Server (Apache httpd) można wykorzystać do skonfigurowania odwrotnego serwera proxy na serwerze internetowym, który umożliwia dostarczanie użytkownikom zarówno zawartości statycznej, jak i dynamicznej, jednocześnie działając jako zwykły serwer WWW.
- HAproxy
HAProxy to darmowy zwrotny serwer proxy typu open source i system równoważenia obciążenia zaprojektowany do pracy z wieloma istniejącymi architekturami serwerów sieciowych, takimi jak systemy Linux i platformy oparte na chmurze. Wykorzystuje sterowany zdarzeniami model we/wy i może rozdzielać żądania między wiele procesów roboczych, podobnie jak NGINX. HAProxy jest znany ze swojej zdolności do obsługi dużego natężenia ruchu nawet podczas szczytowego obciążenia. Jest używany przez jedne z największych witryn na świecie, takie jak Airbnb, Reddit i Instagram.
Przypadki użycia serwera Reverse Proxy dla witryn WordPress
Chociaż możesz także użyć innych odwrotnych serwerów proxy, NGINX jest najpopularniejszym wyborem. Oto trzy główne przypadki użycia do konfigurowania odwrotnego proxy dla witryn WordPress:
- Strona główna i proxy na jednym serwerze
Jeśli zarówno witryna główna, jak i witryna proxy są hostowane na tym samym serwerze WWW, można skonfigurować odwrotne proxy, aby witryna proxy była ładowana z witryny głównej. Możesz to zrobić, konfigurując wszystkie odpowiednie reguły odwrotnego proxy w witrynie głównej i konfigurując witrynę proxy do ładowania przez serwer proxy. Ponadto, jeśli używasz certyfikatu SSL, w pliku wp-config.php muszą istnieć określone reguły, aby zapobiec pętlom przekierowań. Pamiętaj, że niemożliwe jest utworzenie adresu URL z tym samym podkatalogiem, co ten użyty do załadowania witryny.
- Hosting tylko strony proxy na twoim serwerze
Aby utworzyć odwrotne proxy, musisz skontaktować się z administratorem serwera głównej witryny i skonfigurować reguły na dwóch serwerach. Należy również dodać nazwę domeny wskazującą odwrotne proxy. Zwykle odbywa się to za pośrednictwem subdomeny (np. blog.twoja_domena.com), która jest połączona z witryną proxy (np. twoja_domena.com/blog). Pamiętaj, że do zakończenia procesu konfiguracji będziesz potrzebować adresu IP z serwera.
- Strona główna hostowana na Twoim serwerze
Jeśli możesz uzyskać dostęp tylko do głównej witryny i jej serwera hostingowego, powinieneś skonfigurować odwrotne proxy i dostosować jego ustawienia, aby strona była pobierana z zewnętrznego hosta. Administrator serwera pomocniczego będzie odpowiedzialny za zainstalowanie i skonfigurowanie witryny proxy, aby można było uzyskać do niej dostęp za pośrednictwem zwrotnego serwera proxy.
Kroki, aby skonfigurować zwrotny serwer proxy dla WordPress
Skonfigurowanie odwrotnego proxy dla WordPress to świetny sposób na poprawę wydajności witryny. Może również pomóc chronić serwer WWW przed złośliwymi żądaniami i poprawić komfort użytkowania. Poniżej znajdują się kroki, które należy wykonać, aby skonfigurować odwrotne proxy dla WordPress.
- Zainstaluj odwrotny serwer proxy
Pierwszym krokiem jest instalacja odwrotnego serwera proxy. Zalecamy korzystanie z serwera sieciowego NGINX, który jest darmowy i open source. Można również użyć innych popularnych serwerów WWW, takich jak Apache, ale zakładamy, że w tym samouczku używasz NGINX. Załóżmy, że chcesz użyć odwrotnego proxy NGINX (192.xx10) wraz z serwerem WWW Apache (192.xx20), który już działa.
Instalacja NGINX na serwerze Ubuntu polega na uruchomieniu jednego polecenia:
sudo apt-get update
sudo apt-get install nginx
Po zainstalowaniu NGINX użyj tego polecenia, aby wyłączyć hosta wirtualnego:
sudo unlink /etc/nginx/sites-enabled/default
Teraz nadszedł czas, aby utworzyć odwrotne proxy. Możesz to zrobić, tworząc plik o nazwie reverse-proxy.conf w katalogu etc/nginx/sites-available. Przede wszystkim przejdź do katalogu:
cd etc/nginx/sites-available
Utwórz plik za pomocą edytora vi:
vi odwrotne proxy.conf
Dodaj następujące wiersze do pliku:
serwer {
słuchaj 80;
Lokalizacja / {
hasło_proxy http://192.xx20;
}
}
Jak widać, przepustka proxy umożliwia przekazywanie żądań przychodzących przez odwrotne proxy do 192.xx20:80, zdalnego gniazda głównego serwera. Innymi słowy, oba serwery współdzielą zawartość. Po zakończeniu zapisz plik i zamknij edytor. Aby przekazać informacje na inne serwery, użyj modułu ngx_http_proxy_module w terminalu. Na koniec musisz aktywować dyrektywy, łącząc się z /sites-enabled/ za pomocą tego polecenia:
sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf
Pozostało tylko przetestować odwrotne proxy. Musisz uruchomić test konfiguracji i zrestartować NGINX, aby zweryfikować jego wydajność. Użyj poniższego polecenia, aby sprawdzić, czy NginX działa:
test konfiguracji usługi nginx
ponowne uruchomienie usługi nginx
Jeśli test się nie powiedzie, oznacza to, że Apache prawdopodobnie nie jest poprawnie skonfigurowany.
Ograniczenia odwrotnego serwera proxy
Odwrotny serwer proxy może stanowić poważne zagrożenie dla bezpieczeństwa, ponieważ może obserwować i modyfikować cały przepływający przez niego ruch. Jeśli ruch HTTPS jest przesyłany przez zwrotne proxy, dane muszą zostać odszyfrowane i ponownie zaszyfrowane, co wymaga kluczy prywatnych certyfikatu SSL/TLS. Jeśli haker uzyska dostęp do tego odwrotnego serwera proxy, może rejestrować hasła i umieszczać złośliwy kod na stronach internetowych.
Odwrotne proxy może stworzyć pojedynczy punkt awarii, jeśli ani Ty, ani Twoi użytkownicy nie macie bezpośredniego dostępu do głównego serwera. Na przykład, jeśli jeden odwrotny serwer proxy obsługuje wiele domen, wszelkie zakłócenia spowodują, że wszystkie te witryny staną się niedostępne. Jeśli używany jest odwrotny serwer proxy innej firmy, nie zapominaj, że udostępniasz im ważne informacje o witrynie.
Wniosek
Skonfigurowanie odwrotnego proxy dla WordPress może poprawić bezpieczeństwo i wydajność witryny. Kroki konfiguracji odwrotnego proxy dla WordPress różnią się w zależności od serwera i konfiguracji. Zasadniczo obejmują one konfigurację serwera proxy, konfigurację serwera WWW zaplecza i konfigurację witryny WordPress. Chociaż skonfigurowanie odwrotnego serwera proxy może być korzystne, ma ograniczenia.