7 min czytaniaFunkcje

TLS dla własnej domeny krótkich linków: 5 minut

Dodaj własną domenę do Elido, opublikuj jeden rekord TXT i jeden CNAME, a HTTPS zostanie wystawione przy pierwszym użyciu.

Marius Voß
DevRel · edge infra

Konfiguracja własnej domeny z HTTPS wymaga jednego rekordu TXT, jednego rekordu CNAME i krótkiego oczekiwania. Dodajesz nazwę hosta w Elido, kopiujesz dwie wartości DNS, które ci poda, a certyfikat TLS zostaje wystawiony automatycznie, gdy ktoś po raz pierwszy otworzy link w tej domenie. Powolna część to propagacja DNS, którą kontrolujesz przez TTL. Ten wpis przeprowadza przez pięć kroków, a potem wyjaśnia mechanizm, abyś wiedział, gdzie szukać, gdy któryś krok utknie.

Wszystko poniżej sprawdzono z aktualnym kodem i panelem Elido 2026-10-09. Tam, gdzie powiązana funkcja nie jest jeszcze zbudowana, wpis to mówi.

Dlaczego TLS ma znaczenie w krótkim linku

Krótki link to przekierowanie, a odpowiedź przekierowania jest całym ładunkiem. 301 lub 302 z nagłówkiem Location niesie twój adres docelowy. Jeśli pierwsze żądanie idzie zwykłym HTTP, każdy na ścieżce sieciowej może odczytać ten cel, zanim przeglądarka za nim podąży.

Kody QR pogarszają sprawę. Ktoś skanujący kod na witrynie sklepu albo na plakacie nie ma wcześniejszej relacji z tym adresem, więc pasek adresu to jedyny sygnał zaufania, jaki dostaje. Ostrzeżenie przeglądarki przy skanowaniu to najgorsze możliwe pierwsze wrażenie, a za nakład już zapłaciłeś.

Na wspólnych domenach krótkich Elido certyfikat należy do Elido, więc kłódka jest prawdziwa, ale nazwa na niej nie jest twoja. Na go.acme.com nazwa jest twoja. Podstawy DNS i TLS stojące za tym opisuje filarowy wpis o krótkich linkach z własną domeną.

Lista własnych domen w Elido z jedną aktywną domeną, jedną z oczekującą kontrolą DNS i jedną z nieudaną weryfikacją oraz wskazówką, jak ją naprawić

Krok 1: wybierz nazwę hosta

Wybierz krótką subdomenę, którą kontrolujesz i której nie używasz do niczego innego: go.example.com, links.example.com lub podobną. Prefiks pojawia się w każdym wysyłanym linku, więc im krótszy, tym lepiej.

Użyj subdomeny, a nie samej domeny głównej. RFC 1034 sekcja 3.6.2 mówi, że nazwa z CNAME nie może zawierać innych danych, a wierzchołek strefy zawsze zawiera rekordy SOA i NS, więc CNAME tam jest niedozwolony. Niektórzy dostawcy DNS udają to rekordami ALIAS lub spłaszczonymi, ale one odpowiadają adresami IP zamiast CNAME. Weryfikacja Elido prosi o sam CNAME, więc spłaszczony wierzchołek jej nie przejdzie.

Przy rejestracji nazwy obowiązują jeszcze dwie reguły. Nazwa hosta musi być w pełni kwalifikowaną nazwą domeny pisaną małymi literami, a nazwy pod elido.me lub elido.app są zarezerwowane.

Krok 2: dodaj domenę w Elido

Otwórz Domains na pasku bocznym panelu, wpisz nazwę hosta i kliknij Add domain. Zaznacz pole wildcard tylko wtedy, gdy chcesz, żeby działała każda subdomena tej nazwy, jak w *.go.example.com. Zwykle nie trzeba. Elido pokaże wtedy dwa rekordy DNS, każdy z przyciskiem kopiowania.

Strona Domains w panelu Elido z polem nazwy hosta, polem wyboru wildcard, przyciskiem Add domain i tabelą z jedną domeną, jej statusem i kliknięciami z 30 dni

Ten sam krok przez API, dla skryptów wdrożeniowych lub przestrzeni roboczych klientów:

curl -X POST https://api.elido.app/v1/workspaces/{workspace_id}/domains \
  -H "Authorization: Bearer $ELIDO_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"hostname": "go.example.com", "is_wildcard": false}'

Wywołanie wymaga roli, która może zarządzać domenami. Nowa domena wraca ze statusem pending, verify_token i obiektem instructions z dokładnymi wartościami rekordów:

{
  "domain": {
    "id": 42,
    "hostname": "go.example.com",
    "status": "pending",
    "is_wildcard": false
  },
  "instructions": {
    "txt_record": "_elido-verify.go.example.com TXT \"verify=<token>\"",
    "cname_record": "go.example.com CNAME edge.elido.me"
  }
}

Własne domeny wymagają płatnego planu. Jeśli spróbujesz zarejestrować jedną w workspace Free, ponad limit domen swojego planu albo przy wstrzymanej lub anulowanej subskrypcji, API odpowie 402. Ten kod obsłużyłbym jako pierwszy w każdym skrypcie onboardingowym, bo to właśnie na niego klient trafia pierwszego dnia. Zduplikowana nazwa hosta dostaje 409. Agencje obsługujące wiele domen klientów powinny przeczytać stronę rozwiązań dla agencji, by poznać model workspace.

Krok 3: opublikuj dwa rekordy DNS

Dodaj oba rekordy u swojego dostawcy DNS, dokładnie tak, jak pokazano:

go.example.com                  CNAME  edge.elido.me.
_elido-verify.go.example.com    TXT    "verify=<your-token>"

CNAME kieruje ruch do Elido. Rekord TXT dowodzi, że jesteś właścicielem strefy. Oba są wymagane, a wartość TXT musi dokładnie odpowiadać tokenowi.

Dla rejestracji wildcard CNAME staje się *.go.example.com, a rekord TXT pozostaje w _elido-verify.go.example.com, na nazwie nadrzędnej bez gwiazdki.

Ustaw TTL 300 sekund dla obu rekordów, jeśli dostawca na to pozwala. Wiele stref domyślnie ma 3600 sekund, a długi TTL zamienia pięciominutową pracę w godzinną.

Jedna uwaga o dostawcy ma większe znaczenie niż reszta. Jeśli używasz Cloudflare, zostaw CNAME jako DNS-only. Dokumentacja Cloudflare mówi, że rekord przechodzący przez proxy jest obsługiwany adresami IP samego Cloudflare zamiast zawartością rekordu (dostęp 2026-10-09). Nazwa przechodząca przez proxy nigdy więc nie zwróci CNAME, którego szuka Elido, i weryfikacja nie przejdzie.

Krok 4: poczekaj na weryfikację

Nie musisz niczego klikać. Proces w tle wewnątrz API Elido sprawdza każdą oczekującą domenę według timera, domyślnie co 30 sekund, przy użyciu publicznego resolvera Google pod adresem 8.8.8.8. Domena przechodzi tylko wtedy, gdy spełnione są oba warunki:

  1. Rekord TXT w _elido-verify.<hostname> zawiera dokładnie verify=<token>.
  2. Nazwa hosta ma CNAME, który rozwiązuje się do celu edge Elido.

Gdy oba przejdą, status zmienia się na verified. Jeśli skryptujesz konfigurację, możesz sam odpytywać:

curl https://api.elido.app/v1/workspaces/{workspace_id}/domains/42 \
  -H "Authorization: Bearer $ELIDO_API_TOKEN"

Aby pominąć oczekiwanie na następny cykl, wyślij POST .../domains/42/verify. Zwraca 202 i przesuwa domenę na początek kolejki. Domena, która pozostaje w stanie pending przez 24 godziny, jest oznaczana jako failed z powodem "verification timeout", a to samo wywołanie verify przywraca domenę w stan failed do pending, abyś mógł ponowić próbę po naprawie DNS.

Jeśli utknie, odpytaj rekordy tak samo jak sprawdzarka:

dig @8.8.8.8 TXT _elido-verify.go.example.com +short
dig @8.8.8.8 CNAME go.example.com +short

Pierwsze powinno wypisać "verify=<your-token>". Drugie powinno wypisać edge.elido.me., wraz z kropką na końcu.

Krok 5: pierwsze żądanie wystawia certyfikat

Gdy status to verified, nie zostało już nic do zrobienia. Elido nie wystawia certyfikatów z wyprzedzeniem. Warstwa TLS wystawia go na żądanie, gdy przeglądarka po raz pierwszy otworzy połączenie TLS dla twojej nazwy hosta.

Zanim poprosi Let's Encrypt o cokolwiek, edge wywołuje kontrolę autoryzacji w API Elido. Odpowiedź brzmi tak tylko wtedy, gdy nazwa hosta jest w stanie verified lub active albo podlega zweryfikowanej rejestracji wildcard. Każda inna odpowiedź, w tym nieznana nazwa, odrzuca uzgodnienie i żaden certyfikat nie jest żądany. Ta bramka powstrzymuje obcego przed skierowaniem miliona nazw hostów na Elido i wyczerpaniem limitów urzędu certyfikacji.

Gdy kontrola przejdzie, wystawienie używa wyzwania HTTP-01 z RFC 8555: urząd certyfikacji prosi o token pod /.well-known/acme-challenge/ na twojej nazwie hosta przez zwykłe HTTP, edge na to odpowiada, a certyfikat jest wystawiany i zapisywany w cache. Pierwszy odwiedzający chwilę na to czeka. Kolejne żądania używają certyfikatu z cache.

Przy pierwszym uzgodnieniu TLS edge pyta bramkę autoryzacji; odpowiedź 404 zatrzymuje wystawienie, a 200 dla zweryfikowanej domeny prowadzi do wyzwania HTTP-01 Let's Encrypt i certyfikatu w cache.

Praktyczny nawyk: otwórz https://go.example.com sam zaraz po weryfikacji, aby certyfikat istniał, zanim pierwszym żądaniem będzie klient albo skan kodu QR.

Przekaż id domeny jako domain_id przy tworzeniu linku. Link działa od razu pod https://go.example.com/<slug>. Strona Domains pokazuje też kliknięcia z 30 dni dla każdej nazwy hosta. Pełna dokumentacja, w tym wskazówki o CAA, jest w przewodniku po własnych domenach, a przegląd produktu na stronie funkcji własnych domen.

Co oznaczają wartości statusu

StatusZnaczenieCo zrobić
pendingDomena zarejestrowana, DNS jeszcze niewidocznySprawdź TXT i CNAME za pomocą dig
verifiedOba rekordy znalezione, można wystawiać certyfikatyOtwórz raz adres HTTPS, potem twórz linki
failedNiezweryfikowana w 24 godziny, powód jest w wierszuNapraw DNS, potem wywołaj endpoint verify ponownie
activeAkceptowana przez bramkę tak samo jak verifiedNic; traktuj tak samo jak verified

W obecnej wersji zdrowa domena pozostaje w stanie verified. Wartość active istnieje w modelu danych i w filtrze panelu, a bramka certyfikatów akceptuje obie, ale nic jeszcze nie przenosi do niej domeny.

Typowe pułapki

Rekordy CAA wykluczające Let's Encrypt. Rekord CAA ogranicza, które urzędy mogą wystawiać certyfikaty dla nazwy, i jest dziedziczony przez subdomeny (dostęp 2026-10-09). Jeśli twoja strefa ma example.com CAA 0 issue "digicert.com", wystawienie dla go.example.com jest odrzucane. Dodaj go.example.com CAA 0 issue "letsencrypt.org" albo poszerz rekord na wierzchołku.

Proxy lub CDN przed CNAME. Pomarańczowa chmurka Cloudflare to najczęstszy przypadek, omówiony w kroku 3. Każda warstwa, która odpowiada na DNS lub HTTP w twoim imieniu, psuje zarówno kontrolę CNAME, jak i wyzwanie HTTP-01.

Wildcard to nie certyfikaty wildcard. Według dokumentacji wyzwań Let's Encrypt HTTP-01 nie może wystawiać certyfikatów wildcard, a DNS-01 wymaga dostępu do zapisu w twojej strefie (dostęp 2026-10-09). Rejestracja wildcard obejmuje więc routing dla każdej subdomeny, ale client1.go.example.com i client2.go.example.com dostają każda własny certyfikat przy pierwszym użyciu. Let's Encrypt ogranicza nowe certyfikaty na zarejestrowaną domenę do 50 na 7 dni (dostęp 2026-10-09), więc dołączenie setek nowych subdomen w jednym tygodniu wymaga planowania.

Późniejsze usunięcie CNAME. Dziś kontrola DNS działa tylko wtedy, gdy domena jest w stanie pending. Gdy domena jest zweryfikowana, Elido nie sprawdza jej ponownie, więc usunięty CNAME objawia się jako awaria przekierowań i odnowień certyfikatów, a nie jako zmiana statusu czy powiadomienie. Monitoruj rekord po swojej stronie. Okresowa kontrola stanu ze stanem pogorszonym i okresem karencji jest zaplanowana, a nie zbudowana.


Marius Voß jest DevRel + edge infra w Elido. Odpowiada za ścieżkę przekierowań i przepływ własnych domen.

Powiązane na blogu

Najczęściej zadawane pytania

Ile trwa konfiguracja TLS dla własnej domeny?

Dodanie domeny zajmuje minutę, opublikowanie dwóch rekordów DNS kilka kolejnych, a potem czeka się na propagację DNS. Elido domyślnie sprawdza oczekujące domeny co 30 sekund, więc weryfikacja następuje wkrótce po tym, jak rekordy staną się widoczne. Przy TTL 300 sekund zwykle są to minuty; przy TTL 3600 sekund może to trwać dłużej. Certyfikat jest wystawiany przy pierwszym żądaniu HTTPS do zweryfikowanej nazwy hosta, nie wcześniej.

Jakich rekordów DNS Elido potrzebuje dla własnej domeny?

Dwóch. Rekord TXT w _elido-verify.<twoja nazwa hosta> o wartości verify=<token> dowodzi, że kontrolujesz strefę, a CNAME z twojej nazwy hosta do celu edge Elido kieruje ruch. Elido pokazuje obie dokładne wartości w chwili dodania domeny, w panelu i w odpowiedzi API, a oba rekordy muszą istnieć, zanim domena przejdzie weryfikację.

Czy mogę użyć domeny głównej, takiej jak example.com, dla krótkich linków?

Niezawodnie nie. Standard DNS nie pozwala na CNAME na wierzchołku strefy, a weryfikacja Elido szuka prawdziwej odpowiedzi CNAME, więc spłaszczony rekord lub ALIAS, który zwraca tylko adresy IP, jej nie przejdzie. Użyj subdomeny, takiej jak go.example.com lub links.example.com. Jest też krótsza do wpisania w każdym udostępnianym linku.

Czy Elido wystawia certyfikat wildcard dla mojej domeny?

Nie. Rejestracja domeny wildcard pozwala obsługiwać każdą subdomenę pod twoją nazwą, ale każda nazwa hosta dostaje własny certyfikat przy pierwszym żądaniu przez wyzwanie HTTP-01. Let's Encrypt wystawia certyfikaty wildcard tylko przez wyzwanie DNS-01, które wymaga dostępu do zapisu w twojej strefie DNS, a Elido takiego dostępu nie ma. Dla odwiedzających wynik jest taki sam.

Dlaczego moja domena pozostaje w statusie pending?

Albo wartość TXT nie zgadza się dokładnie z tokenem, albo CNAME nie rozwiązuje się do celu edge Elido, albo proxy odpowiada w miejsce twojego CNAME. Elido sprawdza oba rekordy przez publiczny resolver, więc sprawdź je za pomocą dig spoza swojej sieci. Domena, która nadal oczekuje po 24 godzinach, jest oznaczana jako failed z powodem, a potem możesz zażądać nowej weryfikacji.

Czy własne domeny działają w każdym planie Elido?

Nie. Przestrzenie robocze Free nie mają limitu własnych domen. Płatne plany Pro i Business obejmują własne domeny, a liczba, którą możesz podłączyć, zależy od rozmiaru planu, więc sprawdź cennik dla swojego poziomu. Dodanie domeny ponad limit albo przy wstrzymanej lub anulowanej subskrypcji jest odrzucane błędem payment-required.

Wypróbuj Elido

Wklej URL, otrzymaj krótki link

Bez rejestracji. Link działa 30 dni. Zarejestruj się, aby zachować go na zawsze.

Bez rejestracji. Załóż darmowe konto i korzystaj z 50 linków miesięcznie.

Wypróbuj Elido

Skracarka URL hostowana w UE: własne domeny, głęboka analityka i otwarte API. Darmowy plan - bez karty kredytowej.

Tagi
custom domain tls
branded short links setup
short url https
custom domain url shortener
on-demand tls
dns cname short link

Czytaj dalej