Udostępnij za pośrednictwem


WordPress na platformie Azure

Azure App Service
Azure Front Door
Azure Kubernetes Service (AKS)
Azure Web Application Firewall
Link prywatny platformy Azure

WordPress to wszechstronny i popularny system zarządzania zawartością używany do tworzenia witryn internetowych o wszystkich rozmiarach na wiele celów. Od małych osobistych blogów po witryny firmowe i sklepy e-commerce na dużą skalę, WordPress oferuje szereg funkcji i dostosowań odpowiadających różnym potrzebom. Jednak ze względu na różne rozmiary i przypadki użycia instalacji platforma WordPress ma również unikatowe wymagania dotyczące hostingu, które zależą od czynników, takich jak zapotrzebowanie na ilość ruchu i magazyn.

W tym artykule opisano wdrożenia platformy WordPress na platformie Azure. Zawiera wskazówki dotyczące tego, co należy wziąć pod uwagę i wdrożyć, aby zapewnić bezpieczną, skalowalną i opłacalną instalację.

Ogólne porady dotyczące zabezpieczeń i wydajności platformy WordPress

Ze względu na przytłaczającą popularność WordPress jest celem hakerów. Witryny internetowe działające na platformie mogą być narażone na zagrożenia bezpieczeństwa, takie jak złośliwe oprogramowanie i ataki wyłudzające informacje. Poniższe porady mogą pomóc w rozwiązaniu tych zagrożeń, tworząc bezpieczną i lepszą instalację platformy WordPress.

Niezależnie od tego, czy używasz maszyny wirtualnej, czy usługi aplikacja systemu Azure dla architektury hostingu, czy też używasz innego rozwiązania, te porady mają zastosowanie.

Korzystanie z zapory aplikacji internetowej platformy Azure

Zapora aplikacji internetowej pomaga zabezpieczyć witrynę internetową przed typowymi atakami internetowymi. Działa jako filtr między witryną internetową a Internetem. W tej pojemności zapora aplikacji internetowej monitoruje ruch przychodzący i blokuje złośliwe żądania, które mogą wykorzystywać luki w zabezpieczeniach w kodzie witryny internetowej. Zapora aplikacji internetowej pomaga chronić witrynę internetową przed szeregiem ataków, w tym iniekcji SQL, skryptów między witrynami (XSS) i fałszerzowania żądań między witrynami (CSRF).

Należy użyć zapory aplikacji internetowej w usłudze Azure Front Door, aby uzyskać scentralizowaną ochronę aplikacji internetowych. Azure Front Door to sieć dostarczania zawartości, która pomaga zapewnić użytkownikom na całym świecie szybki, niezawodny i bezpieczny dostęp do statycznej i dynamicznej zawartości internetowej aplikacji. Wdrażanie zapory aplikacji internetowej w usłudze Azure Front Door pomaga bronić usług internetowych przed typowymi lukami w zabezpieczeniach i lukami w zabezpieczeniach.

Usuwanie nieużywanych wtyczek i motywów

Należy usunąć nieużywane wtyczki i motywy z instalacji platformy WordPress. Ten krok jest ważny w celu zapewnienia bezpieczeństwa witryny internetowej WordPress i optymalizacji jej wydajności. Nawet wtyczka lub motyw, którego nie używasz aktywnie, może stanowić zagrożenie bezpieczeństwa, zapewniając hakerom punkt wejścia do wykorzystania luk w zabezpieczeniach w nieaktualnym lub niezamierzonym kodzie. Ponadto posiadanie wielu wtyczek i motywów zainstalowanych w witrynie internetowej może spowolnić jego wydajność, zwiększając czas ładowania i użycie zasobów serwera.

Odciążanie zawartości statycznej z dala od procesora PHP

Aby zmniejszyć obciążenie procesora PHP, należy odciążyć zawartość statyczną, taką jak obrazy, filmy wideo i pliki CSS. Odciążanie zawartości statycznej pomaga zoptymalizować wydajność witryny internetowej i zmniejszyć obciążenie serwera. Gdy użytkownik odwiedza witrynę internetową, serwer przetwarza kod PHP i dynamicznie generuje zawartość HTML. Ten proces intensywnie obciąża zasoby. Jednak zawartość statyczna nie zmienia się często, więc można udostępniać zawartość statyczną bezpośrednio z systemu plików serwera lub sieci dostarczania zawartości. Odciążając te zasoby, można zmniejszyć obciążenie procesora CPU i pamięci RAM serwera. Ta konfiguracja zapewnia szybsze czasy ładowania stron, lepszą wydajność witryny internetowej i lepsze środowisko użytkownika.

Istnieją również inne korzyści związane z obsługą zasobów statycznych z poziomu usługi sieci dostarczania zawartości, takiej jak Azure Front Door. Na przykład podczas odciążania zawartości statycznej można zmniejszyć opóźnienie i zwiększyć szybkość witryny internetowej, umieszczając serwery w pobliżu lokalizacji geograficznych użytkowników.

Uwaga

Aby ułatwić zabezpieczenie źródła za pomocą usługi Azure Front Door przy użyciu prywatnego punktu końcowego, musisz użyć jednostki SKU Premium usługi Azure Front Door. Aby uzyskać więcej informacji, zobacz Zabezpieczanie źródła za pomocą usługi Private Link.

Unieważnienie pamięci podręcznej sieci dostarczania zawartości

W przypadku dużych instalacji platformy WordPress korzystających z sieci dostarczania zawartości, takiej jak Azure Front Door lub Azure Content Delivery Network, należy zaimplementować logikę unieważniania pamięci podręcznej. Za każdym razem, gdy wystąpi nowe zdarzenie, należy unieważnić pamięć podręczną w sieci dostarczania zawartości dla danej strony. Przykłady zdarzeń obejmują publikowanie nowego artykułu, aktualizowanie istniejącej strony i dodawanie komentarza. Logika unieważniania musi zlokalizować wszystkie adresy URL, które ma wpływ na zmianę. W szczególności logika musi znajdować i unieważniać dynamicznie generowane strony, takie jak kategorie i archiwa, w pamięci podręcznej sieci dostarczania zawartości. W przypadku niektórych zainstalowanych motywów i wtyczek nawet niewielka zmiana może mieć wpływ na każdą stronę.

Sposobem zaimplementowania logiki odnajdywania jest użycie wtyczki, która umożliwia ręczne wyzwalanie unieważnienia pamięci podręcznej dla wszystkich adresów URL. Jednak unieważnienie wszystkich adresów URL jednocześnie może spowodować wzrost ruchu w witrynie WordPress.

Włącz uwierzytelnianie dwuskładnikowe

Uwierzytelnianie dwuskładnikowe zwiększa bezpieczeństwo instalacji i pomaga chronić konta administratora przed nieautoryzowanym dostępem i atakami. Aby skorzystać z uwierzytelniania dwuskładnikowego, możesz użyć wtyczki, takiej jak wtyczka uwierzytelniania miniOrange. Między innymi ta wtyczka umożliwia skonfigurowanie aplikacji Microsoft Authenticator jako metody uwierzytelniania dwuskładnikowego dla użytkowników logujących się do witryny WordPress jako administratorów.

Wyłączanie dostępu XML-RPC

XML-RPC to protokół zdalny, który umożliwia aplikacjom innych firm interakcję z serwerem witryny internetowej. Jednak ten protokół jest również typowym celem hakerów, którzy używają go do uruchamiania ataków siłowych lub wykorzystania luk w zabezpieczeniach w systemie zarządzania zawartością. Jeśli używasz usługi Azure Front Door, możesz wyłączyć funkcję XML-RPC, konfigurując regułę odmowy dla adresów URL w formacie /xmlrpc.php.

Ograniczanie dostępu do panelu administracyjnego

Domyślnie panel administracyjny platformy WordPress jest dostępny dla wszystkich użytkowników z poświadczeniami konta i prawidłowym adresem URL, który ma format /wp-login.php lub /wp-admin. W związku z tym hakerzy i inni złośliwi aktorzy mogą próbować odgadnąć swoje poświadczenia, wykonać przejęcie sesji, uruchomić ataki siłowe lub wykorzystać luki w zabezpieczeniach w usłudze WordPress, aby uzyskać dostęp.

Zapora aplikacji internetowej może pomóc w zapobieganiu atakom, ale wielu administratorów woli ograniczyć dostęp do panelu administracyjnego WordPress na poziomie sieci.

Możesz na przykład zablokować dostęp do prywatnych adresów URL w usłudze Azure Front Door. Następnie można użyć aplikacja systemu Azure Gateway, aby zapewnić dostęp wewnętrzny z sieci prywatnej korzystającej z topologii piasty i szprych. Wewnętrzne wystąpienia usługi Application Gateway obsługują reguły zapory aplikacji internetowej i reguły usługi Azure Front Door. Te reguły pomagają chronić instalację platformy WordPress przed atakami wewnętrznymi. Jeśli możesz tolerować ryzyko ataku wewnętrznego, możesz użyć wewnętrznego wystąpienia usługi Azure Load Balancer zamiast usługi Application Gateway. Moduł równoważenia obciążenia działa w warstwie 4 modelu Open SystemsConnect (OSI).

Architecture diagram that shows blocked public access to a WordPress administration panel. A VPN in a hub-and-spoke topology provides internal access.Diagram architektury przedstawiający zablokowany publiczny dostęp do panelu administracyjnego WordPress. Sieć VPN w topologii piasty i szprych zapewnia dostęp wewnętrzny.

Pobierz plik programu Visio z tą architekturą.

Niektóre wtyczki WordPress wymagają, aby adresy URL z formatem /wp-admin/admin-ajax.php były publicznie dostępne i usuwane z tej reguły odmowy.

Przechowywanie wpisów tajnych w usłudze Azure Key Vault

Aby zapewnić bezpieczeństwo wdrożeń platformy WordPress na platformie Azure, zalecamy przechowywanie wpisów tajnych, takich jak hasła bazy danych i certyfikaty TLS lub SSL, w usłudze Key Vault. Ta oparta na chmurze usługa pomaga zapewnić bezpieczny magazyn kluczy kryptograficznych, certyfikatów i wpisów tajnych oraz zarządzanie nimi.

Usługa Key Vault ułatwia autoryzowanym aplikacjom i usługom bezpieczne uzyskiwanie dostępu do wpisów tajnych. Nie musisz przechowywać ich w postaci zwykłego tekstu w obrazie kontenera WordPress ani w kodzie aplikacji.

Dostrajanie wydajności

Aby zoptymalizować wydajność platformy WordPress, należy dostosować różne ustawienia i użyć wtyczek. Następujące wtyczki mogą być przydatne do debugowania instalacji WordPress:

  • Monitor zapytań zawiera podział czasu poświęcanego na każde zapytanie SQL i inne akcje. Przykłady obejmują błędy PHP, haki i akcje, blokowe bloki edytora, skrypty w kolejce i arkusze stylów oraz wywołania interfejsu API HTTP.

  • Laps to wtyczka przedstawiająca informacje o wydajności ładowania stron WordPress. Udostępnianie wizualnego podsumowania, które jest łatwe do sprawdzenia, automatycznie śledzi zdarzenia, takie jak wykonywanie JĘZYKA PHP, podstawowe procesy, ładowanie wtyczek, ładowanie motywów, główne pętle post, paski boczne, zapytania bazy danych i żądania sieciowe. Ten podział pokazuje, jak jest poświęcany czas na ładowanie strony WordPress.

Hostowanie wyzwań związanych z platformą WordPress

W przypadku architektury aplikacji WordPress istnieje kilka wyzwań związanych z hostingiem, w tym:

  • Skalowalność. Architektura hostingu musi być w stanie skalować w poziomie w okresach szczytowego ruchu.
  • ReadWriteMany (RWX) storage. Domyślnie platforma WordPress przechowuje wszystkie statyczne zasoby, wtyczki i kod źródłowy motywu /wp-content/ w katalogu. Podczas skalowania w poziomie wszystkie węzły muszą mieć możliwość odczytu z tego katalogu i zapisu do tego katalogu.
  • Operacje wejścia/wyjścia na sekundę (IOPS) klasy magazynu. WordPress składa się z ponad 1000 małych .php plików, do których procesor PHP odwołuje się, ładuje i uruchamia podczas żądań przychodzących. W przypadku niektórych protokołów ładowanie wielu małych plików może zwiększyć obciążenie. Ogólna wydajność jest wtedy niższa niż ładowanie jednego pliku o tym samym łącznym rozmiarze. W związku z tym rozwiązanie magazynu musi obsługiwać dużą ilość operacji we/wy na sekundę.
  • Unieważnienie pamięci podręcznej. W przypadku nowego działania w aplikacji, na przykład podczas publikowania nowego artykułu, należy unieważnić pamięć podręczną we wszystkich węzłach.
  • Czas kompilowania pamięci podręcznej. Dla pierwszego użytkownika danego węzła czas odpowiedzi może być powolny do momentu skompilowania pamięci podręcznej.

Opcje hostingu WordPress na platformie Azure

Platforma WordPress może działać w usługach App Service, Azure Kubernetes Service (AKS) i Azure Virtual Machines. Rozmiar instalacji jest ważnym czynnikiem w wybranym hoście. W przypadku małych i średnich instalacji usługa App Service jest ekonomiczną opcją. Jednak w przypadku większych instalacji należy rozważyć hostowanie usługi AKS lub maszyny wirtualnej.

WordPress w usłudze App Service

Firma Microsoft udostępnia w pełni zarządzane rozwiązanie do uruchamiania platformy WordPress na maszynach wirtualnych App Service dla systemu Linux. Aby uzyskać szczegółowe informacje, zobacz Tworzenie witryny WordPress. To rozwiązanie:

  • Jest przeznaczony do szybkiego i łatwego wdrażania instalacji WordPress.
  • Jest idealnym rozwiązaniem dla małych i średnich instalacji WordPress.
  • Zapewnia skalowalność, niezawodność i bezpieczeństwo platformy Azure bez konieczności złożonej konfiguracji lub zarządzania.
  • Wykonuje automatyczne aktualizacje, kopie zapasowe i monitorowanie, aby zapewnić, że witryna jest zawsze dostępna.

Aby uzyskać więcej informacji, zobacz WordPress w usłudze App Service.

Obciążenia intensywnie korzystające z magazynu

Duże instalacje platformy WordPress mogą intensywnie obciążać magazyn. W tych scenariuszach należy użyć rozwiązania magazynu z klasą o wysokiej liczby operacji we/wy na sekundę i małymi opóźnieniami. Zalecamy usługę Azure NetApp Files. Usługa Azure NetApp Files może obsługiwać wdrożenia WordPress intensywnie korzystające z magazynu. Udostępnia również dodatkowe funkcje, takie jak ochrona danych, tworzenie kopii zapasowych i przywracanie, replikacja między regionami i odzyskiwanie po awarii.

W przypadku wdrożenia kontenera platformy WordPress należy użyć usługi AKS. Za pomocą usługi Azure NetApp Files zaimplementuj magazyn za pośrednictwem sterownika interfejsu CSI (Kubernetes Container Storage Interface). Usługa Azure NetApp Files oferuje ReadWriteMany tryb, dzięki czemu wszystkie węzły mogą odczytywać i zapisywać w tym samym magazynie. Aby uzyskać więcej informacji, zobacz Architektura AKS WordPress.

Niezmienny kontener WordPress

Alternatywnym podejściem do tradycyjnych metod hostingu jest wdrożenie platformy WordPress w niezmiennym kontenerze. Takie podejście ma zalety i wady. Kod źródłowy i wszystkie zasoby w kontenerach niezmiennych są stałe i nie można ich modyfikować po wdrożeniu. Musisz wprowadzić wszystkie zmiany, w tym nowe instalacje wtyczek lub aktualizację podstawową platformy WordPress, w nowej wersji obrazu kontenera. Mimo że takie podejście pomaga zapewnić spójność i upraszcza wycofywanie, musisz utworzyć potok wdrażania, aby wprowadzić zmiany. Ponadto niezmienne kontenery mogą być ograniczone w opcjach magazynu trwałego, które oferują. Może być konieczne opracowanie rozwiązania do obsługi plików multimedialnych i innych danych. Pomimo tych ograniczeń, niezmienne wdrożenia kontenerów oferują korzyści w zakresie zabezpieczeń, skalowalności i przenośności.

Można wdrożyć niezmienną konteneryzowaną wersję platformy WordPress na różnych platformach, w tym usługi Azure Container Apps, AKS i App Service przy użyciu niestandardowego obrazu kontenera. Obraz kontenera można hostować w usłudze Azure Container Registry.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

Inni współautorzy:

  • Adrian Calinescu | Starszy architekt rozwiązań w chmurze

Aby wyświetlić niepubliczne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki

Dokumentacja produktu:

Moduły szkoleniowe: