Cloudflare Free: konfiguracja DNS, SSL Full (strict) i cache
Przeniesienie DNS do Cloudflare, tryb SSL Full (strict), co cache'uje darmowy plan, czego w nim nie ma i jak uniknąć pętli przekierowań oraz utraty adresów IP.
Redakcja serwisu Dealownia · ceny i fakty ze stron dostawców, jak sprawdzamy
Domena obsługiwana przez serwery DNS Cloudflare, ruch do strony przez ich sieć z szyfrowaniem na całej trasie (tryb Full (strict)), pliki statyczne z pamięci podręcznej, a Twój serwer nadal widzi prawdziwe adresy IP odwiedzających – wszystko na darmowym planie. Wyjaśniamy też, czego ten plan nie daje i na jakich ustawieniach najczęściej coś się psuje.
Czego potrzebujesz
- Domenę, w której panelu u rejestratora możesz zmienić serwery nazw (nameservery). Rejestracja domeny
.pli.comjest opisana w poradniku o najtańszej domenie. - Działającą stronę z własnym certyfikatem TLS na serwerze, np. nginx z Let’s Encrypt jak w poradniku od zera. Tryb Full (strict) wymaga certyfikatu na serwerze.
- Konto Cloudflare. Plan Free kosztuje 0 zł; Cloudflare opisuje go jako plan dla projektów osobistych i niekrytycznych (zestawienie darmowych planów jest na stronie darmowe).
- Dostęp do wszystkich rekordów DNS, których używasz, w tym poczty (MX, SPF, DKIM).
Cloudflare nie jest rejestratorem dla domen .pl, więc domenę i tak kupujesz gdzie indziej. Oferty domen niżej mogą dotyczyć różnych końcówek, nie tylko .pl i .com.
Ceny pierwszego roku i odnowień porównasz w rankingu domen.
Krok 1. Dodanie domeny i przegląd rekordów
W panelu Cloudflare wybierz dodanie domeny, wpisz domenę główną (example.pl) i plan Free. Cloudflare przeskanuje istniejące rekordy DNS – instrukcja pełnej konfiguracji każe je przejrzeć przed zmianą nameserverów, bo skan nie zawsze znajduje wszystko. Porównaj listę z panelem obecnego dostawcy DNS:
Przy każdym rekordzie jest przełącznik proxy (pomarańczowa chmurka). Ustaw go tak:
- Proxied (pomarańczowa) – rekordy A/AAAA/CNAME strony WWW (
example.pl,www). Ruch idzie przez Cloudflare, a na zewnątrz widać ich adresy IP. - DNS only (szara) – wszystko, co nie jest HTTP: rekordy pod pocztę, SSH, serwery gier. Proxy Cloudflare przepuszcza tylko określone porty HTTP i HTTPS (m.in. 80, 443, 8080, 8443); SSH na porcie 22 przez rekord z proxy nie przejdzie.
Rekordy MX i TXT nie mają proxy. Rekord A, na który wskazuje MX (np. mail.example.pl), musi być szary.
Krok 2. Zmiana nameserverów
Jeśli u rejestratora masz włączony DNSSEC, najpierw go wyłącz. Dokumentacja Cloudflare ostrzega, że zmiana nameserverów przy aktywnym DNSSEC może sprawić, że domena przestanie działać. Potem w panelu rejestratora usuń obecne nameservery i wpisz dwa, które Cloudflare pokazało na stronie przeglądu domeny – dokładnie, litera w literę.
Rejestrator może potrzebować do 24 godzin na publikację zmiany. Sprawdzisz ją tak:
Gdy domena dostanie status Active, Cloudflare wyśle e-mail. Wtedy możesz z powrotem włączyć DNSSEC – tym razem w panelu Cloudflare, który poda rekord DS do wpisania u rejestratora. Podstawy rekordów i czasu TTL są w poradniku o DNS.
Krok 3. Tryb SSL: Full (strict)
W sekcji SSL/TLS Cloudflare ma kilka trybów szyfrowania:
- Flexible – odwiedzający łączy się z Cloudflare przez HTTPS, ale Cloudflare z Twoim serwerem już przez HTTP. Kłódka w przeglądarce jest, szyfrowania na drugim odcinku nie ma.
- Full – Cloudflare łączy się z serwerem przez HTTPS, ale nie sprawdza certyfikatu (przyjmie też samopodpisany).
- Full (strict) – jak Full, ale certyfikat serwera musi być ważny: z publicznego urzędu (np. Let’s Encrypt) albo z Cloudflare Origin CA.
Ustaw Full (strict). Domyślny tryb automatyczny sam wybiera najbezpieczniejszy możliwy, ale nie obniża bieżącego trybu i zmiany wprowadza stopniowo – lepiej ustawić go ręcznie i wiedzieć, co jest włączone. Sprawdź, czy serwer ma ważny certyfikat:
--resolve łączy się bezpośrednio z Twoim serwerem z pominięciem Cloudflare. Certyfikat Let’s Encrypt odnawiasz dalej certbotem. Jeśli odnowienie przez port 80 zawodzi za proxy, najpewniejsza jest walidacja DNS-01 z wtyczką Cloudflare, opisana w poradniku o certbocie. Alternatywą jest certyfikat Origin CA wystawiany w panelu: działa w trybie Full (strict), ale przeglądarki mu nie ufają (szyfruje tylko odcinek Cloudflare–serwer), a Cloudflare nie przypomina o jego wygaśnięciu.
Krok 4. Prawdziwe adresy IP w logach
Za proxy każde żądanie przychodzi do serwera z adresu Cloudflare. Logi, fail2ban, limity żądań i analityka widzą wtedy kilka tych samych adresów. Dokumentacja Cloudflare każe w nginx użyć modułu ngx_http_realip_module (w pakietach Ubuntu i Debiana jest wkompilowany) i zaufać nagłówkowi CF-Connecting-IP tylko od adresów Cloudflare. Listę zakresów generujesz z opublikowanych plików:
Cloudflare zastrzega, że lista się zmienia i trzeba ją regularnie aktualizować – wrzuć ten skrypt do crona raz w tygodniu. Po przeładowaniu tail /var/log/nginx/access.log powinien pokazywać adresy odwiedzających, nie Cloudflare.
Przy okazji: skoro wszyscy odwiedzający przychodzą przez Cloudflare, możesz w zaporze wpuszczać porty 80 i 443 tylko z tych zakresów. Wtedy nikt nie ominie Cloudflare, łącząc się bezpośrednio z adresem serwera – pod warunkiem, że ten adres nie wycieka przez inne rekordy z szarą chmurką.
Krok 5. Cache i co daje plan Free
Według dokumentacji domyślnego cache Cloudflare nie zapisuje w pamięci podręcznej HTML ani JSON. Cache’uje pliki po rozszerzeniu: obrazy, CSS, JS, fonty, PDF, archiwa, wideo. Nie zapisuje odpowiedzi z nagłówkiem Set-Cookie ani z Cache-Control: private, no-store, no-cache lub max-age=0. Jeśli chcesz cache’ować całe strony statyczne, potrzebujesz reguły Cache Rules – w planie Free masz ich 10.
Co jeszcze jest w planie Free (według dokumentacji poszczególnych funkcji):
- DNS, proxy z ochroną przed DDoS, certyfikat Universal SSL na domenę główną i subdomeny pierwszego poziomu (
www.example.pltak,dev.www.example.plnie); - 5 własnych reguł zapory WAF i zestaw reguł Cloudflare Free Managed Ruleset;
- maksymalny rozmiar pliku w cache 512 MB i limit wysyłanego żądania 100 MB.
Czego w planie Free nie ma: pełnego zestawu reguł zarządzanych Cloudflare Managed Ruleset i OWASP (od planu Pro), certyfikatów dla subdomen drugiego poziomu (płatny Advanced Certificate Manager), przepuszczania przez proxy dowolnych portów TCP (Spectrum). Aktualne ceny planów płatnych sprawdzaj na stronie Cloudflare.
Najczęstsze problemy
ERR_TOO_MANY_REDIRECTSzaraz po włączeniu proxy. Tryb Flexible plus przekierowanie HTTP→HTTPS na serwerze: Cloudflare pyta serwer po HTTP, serwer odsyła na HTTPS, Cloudflare znów pyta po HTTP. Rozwiązanie z dokumentacji: przełącz na Full albo Full (strict) z certyfikatem na serwerze.- Błąd 526 (Invalid SSL certificate). Tryb Full (strict), a certyfikat na serwerze wygasł, jest samopodpisany albo nie obejmuje nazwy domeny. Sprawdź komendą z kroku 3 i odnów certyfikat.
- Poczta przestała dochodzić. Rekord A serwera poczty ma pomarańczową chmurkę albo skan nie przeniósł któregoś rekordu MX, SPF lub DKIM. Porównaj rekordy ze stanem sprzed zmiany i ustaw rekord poczty na DNS only.
- Wszystkie wizyty w logach z kilku adresów. Brak konfiguracji real IP z kroku 4 albo nieaktualna lista zakresów. fail2ban zablokuje wtedy Cloudflare zamiast atakującego.
- Po zmianach na stronie odwiedzający widzą starą wersję CSS lub JS. Pliki siedzą w cache Cloudflare. Wyczyść cache w panelu (Purge Cache) albo dodawaj do nazw plików skrót zawartości – robią to generatory stron statycznych.
Co dalej
Jeśli Twoja strona jest w pełni statyczna, możesz ją w ogóle zdjąć z VPS – porównujemy darmowy hosting statyczny w Cloudflare Pages, GitHub Pages i Netlify. Gdy zostajesz przy własnym serwerze, przejdź listę kontrolną zabezpieczeń.