Blog

Własne domeny w SaaS: pozwól klientom używać swojej domeny dzięki Cloudflare for SaaS

Pozwól klientom kierować własną domenę na Twój SaaS dzięki Cloudflare for SaaS: jak działa weryfikacja, ile to kosztuje (stan na październik 2026) i gdzie się psuje.

Autor: Nicolás Cerón ·

Rząd różnych witryn sklepowych na nocnej ulicy, a pod chodnikiem przekrój z karmazynowymi kablami łączącymi każdy sklep z jedną wspólną maszynownią.

Krótka odpowiedź

Aby klient mógł udostępniać Twoją aplikację pod własną domeną, na przykład portal.customer.com, rejestrujesz tę domenę jako custom hostname w swojej strefie Cloudflare. Klient dodaje jeden rekord CNAME wskazujący na Ciebie, Cloudflare sprawdza, czy kontroluje on tę nazwę hosta, urząd certyfikacji wystawia certyfikaty, a żądania zaczynają docierać do Twojej aplikacji.

Według stanu na październik 2026 strona z planami Cloudflare for SaaS zawiera 100 custom hostnames w planach Free, Pro i Business, podaje cenę 0,10 USD za każdy dodatkowy hostname i ogranicza te plany do 50 000 hostnames.

Dwa ograniczenia wpływają na każdy projekt. Klienci nie mogą skierować na Ciebie samej domeny głównej (apex, customer.com) bez płatnego dodatku Enterprise. A wildcard custom hostnames, własne certyfikaty i wybór urzędu certyfikacji są dostępne tylko w planie Enterprise. Konfiguracja Cloudflare to kilka kroków. Praca produktowa wokół niej zajmuje więcej czasu i właśnie o tym jest większość tego poradnika.

Czym jest custom hostname

Custom hostname to domena należąca do Twojego klienta, którą Cloudflare kieruje do Twojej strefy. Przewodnik konfiguracji obejmuje cztery elementy:

  • Strefa SaaS. Twoja własna domena w Cloudflare z włączonym Cloudflare for SaaS. Na początek wystarczy strefa w planie Free.
  • Fallback origin. Rekord DNS z włączonym proxy, na przykład proxy-fallback.yourapp.com, do którego trafia ruch z custom hostnames.
  • Cel CNAME. Opcjonalna, przyjaźniejsza nazwa, na którą klienci mają kierować domenę, na przykład customers.yourapp.com.
  • Custom hostname. Domena klienta, tworzona przez API lub w panelu, z własnym stanem weryfikacji. Cloudflare wystawia dla każdej dwa certyfikaty: główny ECDSA P-256 oraz zapasowy RSA 2048-bit dla starszych klientów.

Jeśli Twoja aplikacja działa na Cloudflare Workers, platformie, na której buduje Dardo, Worker może pełnić rolę fallback origin. Trasa */* przechwytuje żądania dla każdego custom hostname, a Twój kod odczytuje nagłówek Host, aby znaleźć tenanta. Cloudflare oferuje też metadane niestandardowe dla każdego hostname, ale to płatny dodatek Enterprise, więc w innych planach takie wyszukiwanie odbywa się w Twojej własnej bazie danych, na przykład D1.

Jak działa cały proces

  1. Klient wpisuje domenę w ustawieniach Twojej aplikacji. Backend normalizuje ją i wywołuje endpoint Create Custom Hostname z wybraną metodą weryfikacji certyfikatu.
  2. Klient dodaje rekord DNS, który mu pokazujesz, na przykład portal.customer.com CNAME customers.yourapp.com.
  3. Cloudflare weryfikuje własność hostname. Weryfikacja w czasie rzeczywistym uruchamia się, gdy pojawi się rekord CNAME, co może oznaczać krótką niedostępność. Wstępna weryfikacja używa rekordu TXT lub tokenu HTTP przed zmianą DNS, dla domen, które już działają. Wstępna weryfikacja nie jest obsługiwana, gdy strefa klienta również jest w Cloudflare (konfiguracja „Orange-to-Orange”).
  4. Urząd certyfikacji weryfikuje kontrolę nad domeną i wystawia certyfikaty.
  5. Hostname jest gotowy, gdy jego status i ssl.status mają wartość active, a DNS wskazuje na Twój cel. Cloudflare ostrzega, że handshake TLS może się udać, zanim ssl.status zmieni się na active, więc za źródło prawdy traktuj endpoint ze szczegółami custom hostname.

Metody weryfikacji certyfikatu

Przewodnik po weryfikacji Cloudflare przewiduje takie opcje:

MetodaCo robi klientDziała przed przełączeniem DNSUwagi
HTTP, automatycznaTylko dodaje CNAMENieNajprostsza. Cloudflare sugeruje ją, gdy klienci „mogą znieść kilka minut przestoju”.
HTTP, ręcznaNic, jeśli ich domena już wskazuje na Ciebie; w przeciwnym razie udostępniają Twój token na swoim obecnym serwerzeTakPrzydatna, gdy domena działa już u innego dostawcy.
TXTDodaje rekord TXT, który mu przekazujeszTakWymagana dla hostnames wildcard.
Delegated DCVJednorazowo dodaje jeden rekord CNAME _acme-challengeTakPozwala Cloudflare odnawiać wszystkie przyszłe certyfikaty. Istniejący rekord TXT _acme-challenge to blokuje.

Weryfikacja nie czeka w nieskończoność. Cloudflare ponawia weryfikację hostname 75 razy w ciągu siedmiu dni, a zgodnie z harmonogramem backoff „jeśli weryfikacja się nie powiedzie, custom hostname zostanie usunięty”. Tokeny certyfikatów też wygasają: po 7 dniach w przypadku Let's Encrypt i po 14 dniach w przypadku Google Trust Services lub SSL.com.

Ile to kosztuje (stan na październik 2026)

FreeProBusinessEnterprise
Hostnames w cenie100100100Indywidualnie
Cena za dodatkowy hostname$0.10$0.10$0.10Indywidualnie
Maksymalna liczba hostnames50,00050,00050,000Bez limitu (powyżej 50 000 skontaktuj się z działem sprzedaży)
Wildcard custom hostnamesNieNieNieTak
Własne certyfikaty i wybór urzędu certyfikacjiNieNieNieTak
Proxy dla apex / BYOIPNieNieNiePłatny dodatek
Metadane niestandardoweNieNieNiePłatny dodatek

Strona z planami podaje 0,10 USD bez okresu rozliczeniowego. Ogłoszenie Cloudflare z 2022 roku opisywało to jako obniżkę ceny „z 2 do 0,10 USD miesięcznie”. Przy takiej stawce miesięcznej 1000 domen klientów oznacza 900 ponad wliczone 100, czyli 90 USD miesięcznie.

Dwie zasady rozliczeń mają znaczenie dla projektu produktu. Według strony o limitach i rozliczeniach Cloudflare każdy hostname wlicza się do zużycia, dopóki go nie usuniesz, także „hostnames oczekujące na weryfikację lub aktywację”. Plany inne niż Enterprise mają też próg egzekwowany przez API, po przekroczeniu którego nowe hostnames są odrzucane.

Gdzie się psuje

Domeny apex

Przewodnik konfiguracji Cloudflare jest jednoznaczny: "By default, using an A record to point to the target is not a supported setup." Większość dostawców DNS nie pozwala na rekord CNAME w katalogu głównym domeny, dlatego klienci potrzebują subdomeny, takiej jak www.customer.com lub app.customer.com. Apex proxying przypisuje do Twojego konta statyczne prefiksy IP, dzięki czemu klienci mogą użyć rekordu A, ale to płatny dodatek w planie Enterprise. Bez niego poproś klientów o subdomenę i wyjaśnij, jak u swojego dostawcy DNS przekierować na nią domenę główną.

Urzędy certyfikacji i rekordy CAA

Wykaz urzędów certyfikacji Cloudflare dla niestandardowych nazw hostów obejmuje Let's Encrypt (certyfikaty na 90 dni), Google Trust Services i SSL.com (14, 30 lub 90 dni). Wybór urzędu certyfikacji jest dostępny tylko w planie Enterprise; w pozostałych przypadkach Cloudflare używa domyślnego i najpierw sprawdza rekordy CAA. Jeśli rekordy CAA klienta nie dopuszczają tego urzędu, wystawienie certyfikatu kończy się błędem "CAA records block issuance" i naprawić to może tylko klient. Zapytania CAA podążają za łańcuchami CNAME, więc liczą się także rekordy CAA Twojej własnej domeny docelowej. Przewodnik rozwiązywania problemów wymienia pozostałe błędy po stronie klienta: uszkodzone DNSSEC i serwery DNS odpowiadające SERVFAIL.

Odnowienia

Certyfikaty niestandardowych nazw hostów są ważne 90 dni i można je odnowić na 30 dni przed wygaśnięciem. Aktywne nazwy hostów bez wildcardu odnawiają się automatycznie przez HTTP. Jeśli nazwa hosta przestała być aktywna, na przykład dlatego, że klient zmienił DNS, klient musi umieścić nowy token, a Ty odpowiadasz za jego przesłanie. Wildcardy można odnawiać tylko przez TXT, co automatyzuje Delegated DCV.

Klienci korzystający z innego CDN lub z Cloudflare

Cloudflare informuje, że niestandardowe nazwy hostów używające innego CDN nie są kompatybilne, gdy ten CDN ukrywa rekordy DNS. Klienci, których domeny są w Cloudflare, przynoszą odwrotny problem: jeśli odejdą, a Ty nie usuniesz ich nazwy hosta, może ona nadal kierować ruch do Twojej usługi nawet po zmianie DNS.

Workery przed ścieżkami walidacji

Jeśli Twoim zapasowym serwerem źródłowym jest Worker, musi przepuszczać /.well-known/pki-validation/* i /.well-known/acme-challenge/* bez zmian. Trasa przechwytująca wszystko, która odpowiada stroną 404 Twojej aplikacji, psuje walidację HTTP.

Praca produktowa wokół tego

  • Egzekwowanie planów. Zdecyduj, które z Twoich planów obejmują własne domeny i ile ich jest, i sprawdzaj to przed wywołaniem Cloudflare. Jego limit i próg to górne pułapy, a nie Twój cennik.
  • Ekran wdrożenia. Jedno pole. Zamień tekst na małe litery, usuń protokół i ścieżkę, odrzucaj domeny główne bez subdomeny, chyba że kupiono apex proxying, oraz odrzucaj nazwę własnej strefy, której według Cloudflare nigdy nie należy tworzyć jako niestandardowej nazwy hosta. Potem pokaż dokładny rekord do dodania, z przyciskiem kopiowania.
  • Dwa statusy prostym językiem. Nazwa hosta i certyfikat są walidowane osobno, więc pokaż oba. Przetłumacz ssl.validation_errors na instrukcje: "Rekordy CAA Twojej domeny nie dopuszczają naszego urzędu certyfikacji; dodaj ten rekord" jest lepsze niż "pending_validation". Odpowiedź na utworzenie może jeszcze nie zawierać rekordów walidacji, więc pobierz nazwę hosta ponownie po krótkim opóźnieniu. Powiadomienia webhook Cloudflare zgłaszają zdarzenia walidacji i wystawienia, co jest lepsze niż odpytywanie.
  • Monitorowanie odnowień. Codzienne zadanie oznaczające nazwy hostów, których certyfikat nie jest aktywny lub których DNS już na Ciebie nie wskazuje, aby Twój zespół dowiedział się o tym przed klientem.
  • Porządkowanie. Usuwaj nazwy hostów, które nigdy się nie zwalidowały, oraz te należące do klientów, którzy odeszli. Obie są rozliczane do czasu usunięcia.
  • Izolacja tenantów. Ustalaj tenanta wyłącznie na podstawie aktywnych nazw hostów w swojej bazie danych. Jeśli tenanci dostają też subdomeny Twojej domeny, dokumentacja domen Vercela zwraca uwagę, że ciasteczko ustawione przez jednego tenanta dla domeny nadrzędnej trafia do pozostałych, więc trzymaj panel i logowanie na osobnej domenie.
  • Instrukcja dla wsparcia. Krótka strona dla zespołu, przypisująca każdy błąd do osoby, która go naprawia: brakujący CNAME, CAA, DNSSEC i SERVFAIL leżą po stronie klienta; tokeny, limity urzędu certyfikacji i trasy Workerów po Twojej.

Tego rodzaju pracę Dardo wykonuje przy tworzeniu aplikacji webowych, a white-label portale klienta to miejsce, gdzie o własne domeny pytają najczęściej.

Alternatywy: Vercel i Netlify

Jeśli Twoja aplikacja działa już gdzie indziej, oba hostingi obsługują domeny klientów z własnymi udokumentowanymi limitami, według stanu na październik 2026.

Cloudflare for SaaSVercelNetlify
Limity domen100 w cenie, do 50 000 w planach Free, Pro i Business50 na projekt w planie Hobby; "Unlimited" w planach Pro i Enterprise, z miękkimi limitami 100 000 i 1 000 000"We recommend assigning no more than 50 domain aliases to a site"
Domeny główne (apex)Dodatek w planie EnterpriseRekord A z wartością z karty domeny projektuALIAS, ANAME lub spłaszczony CNAME albo rekord A jako rozwiązanie zapasowe
CertyfikatyAutomatyczne, dwa na nazwę hosta; certyfikaty własne w planie EnterpriseAutomatyczne po weryfikacji domeny; certyfikaty własne w planie EnterpriseAutomatyczny Let's Encrypt; certyfikaty własne odnawiane ręcznie
WildcardyEnterpriseWymagają serwerów nazw Vercela lub delegowanego _acme-challengeAutomatyczne dla domen w Netlify DNS
Stworzony dlaWielu domen klientów w jednej strefiePlatform wielodostępnych z REST API i SDKNajwyżej kilkudziesięciu domen na witrynę

Obsługa domen głównych w Vercelu to najwyraźniejsza różnica: klienci mogą wskazać na niego domenę główną rekordem A. Pamiętaj, że plan Hobby jest ograniczony do "non-commercial, personal use only" zgodnie z zasadami uczciwego użytkowania Vercela, więc płatny SaaS zaczyna od planu Pro. Zalecenie Netlify dotyczące 50 aliasów sprawia, że nie nadaje się on do jednego wdrożenia obsługującego setki domen klientów.

Kiedy to zbudować

Jeśli poproszą o to dwaj lub trzej klienci, dodaj ich nazwy hostów w panelu Cloudflare i prowadź listę kontrolną. Zbuduj samoobsługowy proces, gdy własne domeny staną się częścią sprzedawanego planu lub oferty white-label. Jeśli klienci potrzebują domen głównych lub wildcardów na dużą skalę, porozmawiaj z Cloudflare o planie Enterprise, zanim zaczniesz projektować wokół limitów.

Jeśli chcesz mieć taki proces wbudowany w swój produkt, ze statusami, alertami i notatkami dla supportu opisanymi wyżej, opowiedz nam o swojej aplikacji.