Przy większości stron korzystam z Cloudflare (jest bezpieczniej, a do tego np. zmiany w rekordach DNS są odzwierciedlane właściwie w czasie rzeczywistym) i polecam to też znajomym. Zwłaszcza że z Cloudflare można korzystać bezpłatnie, a do tego w większości przypadków działa to właściwie bezobsługowo. Zdarzają się jednak sytuacje, gdy może być potrzebna drobna korekta ustawień. Z jednym z takich przypadków spotkał się jeden z naszych czytelników, który zwrócił się do nas z prośbą o pomoc…

Cloudflare, (Universal) SSL i Page Rules

Korzystając z Cloudflare możemy korzystać z połączenia HTTPS/SSL niezależnie od tego, czy mamy na serwerze zainstalowany (i skonfigurowany) certyfikat dla naszej domeny, czy też nie. Jeśli mamy (np. bezpłatny certyfikat Let’s Encrypt) w ustawieniach szyfrowania dla danej domeny w Cloudflare wybieramy „full” lub „full (strict)”. Jeśli nie mamy takiego certyfikatu – wybieramy „flexible”, dzięki czemu połączenie będzie szyfrowane choćby między przeglądarką a serwerami Cloudflare (w uproszczeniu: użytkownik widzi, że połączenie jest szyfrowane, choć jest to pewnego rodzaju obejście).

Wszystko działa bardzo dobrze, do momentu, aż pod jedną domeną nie mamy różnych adresów (subdomen), z których część ma certyfikat (ustawiamy „full”), a część nie ma (ustawiamy „flexible”). Niestety jest to ustawienie „per domena”, a więc jest ono wspólne dla wszystkich subdomen w danej domenie.

I jeśli – tak jak np. u wspomnianego naszego czytelnika – mamy np. ustawiony certyfikat dla domeny (powiedzmy, że będzie to domena webinsider.pl), ale już np. nie dla jakiejś subdomeny (powiedzmy, że będzie to subdomena nossl.webinsider.pl) to w pierwszym przypadku może się zdawać, że mamy problem.

Przy założeniu, że nie chcemy rezygnować z (ochrony) Cloudflare i nie chcemy/nie możemy nic zmieniać w certyfikatach (ustawieniach SSL na serwerze), to jeśli ustawimy typ połączenia (obsługi certyfikatu) na „full”, to będzie działać prawidłowo tylko strona „webinsider.pl”. Jeśli ustawimy „flexible”, to będzie działać tylko strona „nossl.webinsider.pl”. Drugi adres (odpowiednio „webinsider.pl” lub „nossl.webinsider.pl”) może pokazać błąd typu „pętla przekierowań”:

Oczywiście mowa o (wymuszonym) połączeniu SSL, i może to zależeć też od konfiguracji po stronie samego serwera/hostingu. W każdym razie u czytelnika taki problem wystąpił, a ja też się z nim spotkałem już wcześniej, przy okazji konfigurowania subdomeny dla jednej z moich stron. Więc jest to jak najbardziej prawdopodobny problem.

W takim przypadku – gdy nie możemy lub nie chcemy nic zmieniać po stronie serwera/hostingu – można skorzystać z tzw. „zasad stron” (page rules):

Dzięki temu możemy dla wybranego adresu w domenie (czyli np. subdomeny „nossl.webinsider.pl”) ustawić indywidualne ustawienia dotyczące różnych opcji, w tym – to co nas interesuje w kontekście tego artykułu – ustawienia dotyczące certyfikatów SSL. W ten sposób problem czytelnika został rozwiązany, i nawet obyło się bez wystawiania faktury VAT… ;-)

(!) Zgłoś błąd na stronie | Lub postaw nam kawę :-)
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Patryk