Kariera
Blog
Kontakt

Varnish Cache dla ISPConfig 3 z Nginx SSL Termination

Nie każdą wolną stronę da się przyspieszyć kolejną wtyczką. Czasem problem znajduje się niżej: w sposobie obsługi ruchu pomiędzy serwerem WWW, SSL, cache oraz samą aplikacją.

Ten projekt powstał jako rozszerzenie konfiguracji ISPConfig 3 dla stron opartych na WordPressie oraz Craft CMS. Jego zadaniem było uporządkowanie całego przepływu zapytań i dodanie warstwy cache przed Apache.

W praktyce oznacza to, że aplikacja nie musi generować każdej odpowiedzi od początku. Jeżeli gotowa wersja strony znajduje się już w pamięci podręcznej, Varnish może zwrócić ją szybciej i ograniczyć liczbę żądań trafiających bezpośrednio do backendu.

Jak działa architektura?

W przypadku ruchu HTTPS zapytanie przechodzi przez kilka jasno rozdzielonych warstw:

Internet
→ Nginx SSL Termination :443
→ Varnish Cache localhost:7443
→ Apache
→ WordPress lub Craft CMS

Nginx odpowiada za obsługę połączenia HTTPS. Następnie przekazuje ruch do Varnisha, który sprawdza, czy odpowiedź może zostać zwrócona z cache. Dopiero gdy jest to potrzebne, zapytanie trafia do Apache i aplikacji.

Dla ruchu bez SSL schemat jest krótszy:

Internet
→ Varnish Cache :80
→ Apache
→ WordPress lub Craft CMS

Dzięki temu każda warstwa ma jedno konkretne zadanie. Konfiguracja pozostaje czytelna, a późniejsze utrzymanie serwera nie opiera się na przypadkowych obejściach.

Zakres projektu

Projekt obejmuje:

  • integrację Varnish Cache z ISPConfig 3
  • konfigurację Nginxa jako warstwy SSL Termination
  • obsługę Apache jako backendu aplikacji
  • działanie z WordPressem oraz Craft CMS
  • automatyczne czyszczenie cache po zmianach treści
  • integrację z WP Rocket i Proxy Cache Purge
  • współpracę z CDN Cache & Preload dla Craft CMS
  • wsparcie dla Cloudflare
  • kompresję Gzip oraz Brotli po stronie Nginxa
  • własne szablony konfiguracji dla hostów tworzonych w ISPConfig 3

Dlaczego taka konfiguracja ma znaczenie?

Wydajność strony nie kończy się na wyniku jednego testu. Liczy się również zachowanie serwera pod większym obciążeniem, poprawna obsługa HTTPS, przewidywalne czyszczenie cache oraz możliwość dalszego rozwijania środowiska bez dokładania kolejnych warstw chaosu.

W tym projekcie nie chodziło więc wyłącznie o uruchomienie Varnisha. Ważniejsze było połączenie kilku usług w jeden spójny system, który można później utrzymywać i rozwijać.

Schemat przepływu ruchu

Schemat integracji Nginx, Varnish Cache, Apache i ISPConfig 3 dla WordPress oraz Craft CMS

Opis grafiki: przepływ ruchu HTTPS w środowisku ISPConfig 3: Internet → Nginx SSL → Varnish Cache → Apache → WordPress lub Craft CMS.

Technologie

ISPConfig 3 Linux Debian Nginx Varnish Cache Apache WordPress Craft CMS Cloudflare WP Rocket Brotli

Repozytorium open source

Kod projektu oraz instrukcja wdrożenia są dostępne publicznie na GitHubie:

Zobacz repozytorium Varnish Cache dla ISPConfig 3

Masz stronę, która powinna działać szybciej i stabilniej?

Gdy problem nie kończy się na jednej wtyczce, sprawdzam cały przepływ: kod aplikacji, bazę danych, cache, integracje oraz konfigurację serwera.

Opisz obecne środowisko. Zobaczymy, gdzie naprawdę znajduje się wąskie gardło.

Porozmawiajmy o wydajności serwera

Zwykle odpowiadam w ciągu 24 godzin
magnifiercrosschevron-left