Domäner utan DNS-API
Kopiera länk till sidan “Domäner utan DNS-API”Ligger en domän hos en DNS-leverantör som sslbrain inte har inbyggd finns det fyra vägar till domänvalidering. Använd CNAME-vidarebefordran när DNS-leverantören kan skapa en CNAME-post.
När behöver ni det här
Kopiera länk till avsnittet “När behöver ni det här”- Er DNS-leverantör finns inte bland de inbyggda leverantörerna, eller den har inget API.
- Ni kör en egen DNS-server.
- Ni vill inte ge sslbrain en API-nyckel som kan ändra hela zonen.
Vägarna:
- CNAME-vidarebefordran: alla DNS-leverantörer, även utan API.
- RFC 2136: er egen DNS-server med TSIG.
- Egen REST-leverantör: ett REST-API som sslbrain inte känner till.
- Skript: ett skript på appliancen.
CNAME-vidarebefordran
Kopiera länk till avsnittet “CNAME-vidarebefordran”Ni skapar en gång en CNAME-post från _acme-challenge.<domän> till appliancens CNAME-mål. sslbrain får ingen nyckel till er DNS. Appliancen måste vara ansluten till sslbrain Cloud.
Tillvägagångssättet beskrivs under CNAME-vidarebefordran i steg 6.
Egen DNS-server med RFC 2136
Kopiera länk till avsnittet “Egen DNS-server med RFC 2136”Appliancen uppdaterar er DNS-server med nsupdate enligt RFC 2136, signerat med en TSIG-nyckel. Det kräver att:
- Namnservern är auktoritativ för zonen och tar emot uppdateringar signerade med TSIG, till exempel BIND.
- TSIG-nyckeln får skapa och ta bort TXT- och CNAME-poster under
_acme-challengei zonen. - Appliancen når namnservern.
- Zonen syns utifrån. CA:n slår upp valideringsposten i publik DNS.
-
Klicka på Lägg till DNS-API-uppgift (DNS-API). Formuläret kräver en inbyggd leverantör. Välj till exempel Hetzner DNS, skriv valfri text i Hetzner DNS API Token och klicka på Spara. Texten används inte.
-
Öppna uppgiften igen under Åtkomstuppgifter och välj native (RFC 2136 nsupdate) under Executor adapter.
-
Fyll i fälten. De visas på danska:
Fält Värde Nameserver (server) Namnserverns namn eller adress, till exempel ns1.internal.example.comZone Zonen, till exempel example.comTSIG algoritme hmac-sha256(standard),hmac-sha384,hmac-sha512,hmac-sha224ellerhmac-sha1TTL (sekunder) 5 till 86400, standard 60 Användarnamn TSIG-nyckelns namn Lösenord / Nyckel TSIG-nyckelns hemlighet i base64 -
Skriv zonen i Zone-bindinger (en pr linje) och spara.
Egen REST-leverantör
Kopiera länk till avsnittet “Egen REST-leverantör”Har DNS-leverantören ett REST-API som sslbrain inte har inbyggt beskriver ni API:et i ett formulär. sslbrain använder beskrivningen för att hitta zonen, skapa valideringsposten och ta bort den igen. Nycklarna ligger krypterade i vaulten på uppgiften.
-
Klicka på Lägg till DNS-API-uppgift och välj Ny anpassad REST DNS-leverantör… under DNS-udbyder.
-
Beskriv leverantören:
Avsnitt Fält Leverantören Leverantörens namn, Beskrivning (valfri), Bas-URL (bara HTTPS på en publik adress) Inloggning Auth-typ: Bearer token, Basic auth (användarnamn och lösenord), namngiven header, nyckel och secret i en header, eller query-parameter. Alternativen visas på danska. Därefter Header-namn, Header-format eller Query-parameter beroende på typen Zoner Sökväg till zonlistan (GET), JSON-path till listan, JSON-path till zon-id, JSON-path till zonnamn Skapa record Metod (POST, PUT eller PATCH), Sökväg, Body-template (JSON), TTL (sekunder) Radera record Radering: Single-call (skapandet returnerar record-id, och radering är en DELETE) eller Tvåsteg (lista records, hitta id via JSON-path, sedan DELETE), med sökvägarna och JSON-paths till dem Sökvägar och body kan använda
{zone_id},{zone},{name}(relativt till zonen),{fqdn},{type},{value}och{ttl}. Sökvägen för radering kan också använda{record_id}. En JSON-path skrivs med punkt, till exempeldata.recordsellerresult. -
Fyll i nycklarna och klicka på Testa åtkomst. Testet körs mot leverantören utan att spara något.
-
Klicka på Spara.
Leverantören anropas alltid direkt från appliancen, aldrig via sslbrain Cloud-proxyn. En ändring i beskrivningen gäller alla uppgifter som använder leverantören.
Skript på appliancen
Kopiera länk till avsnittet “Skript på appliancen”En DNS-API-uppgift kan köra ett skript på appliancen i stället för att anropa en leverantör. Webbgränssnittet kan inte lägga filen på appliancen, så den läggs på plats så här:
- Virtuell appliance: välj
9 Danger zoneoch1 Open a root shelli konsolmenyn. Root-skalet öppnas med ett svar från sslbrain Cloud. Lägg filen i/opt/sslbrain/data/dns-scripts/, som är/data/dns-scripts/inne i appliancen. - Docker: lägg filen i katalogen
dns-scriptspå den volym som är monterad som/data.
Gör filen körbar med chmod 755. Kommer ni inte åt appliancens filsystem, använd RFC 2136 eller en egen REST-leverantör.
Skapa uppgiften som för RFC 2136, men välj script under Executor adapter. Fyll i Sti til operator-script, till exempel /data/dns-scripts/<namn>.sh, och vid behov Script timeout (sekunder) (5 till 300, standard 60). Fälten visas på danska.
Skriptet får de här miljövariablerna:
| Variabel | Innehåll |
|---|---|
SSLBRAIN_DNS_ACTION | create eller remove |
SSLBRAIN_DNS_RECORD_NAME | Postens namn |
SSLBRAIN_DNS_RECORD_TYPE | Postens typ |
SSLBRAIN_DNS_RECORD_VALUE | Postens värde |
SSLBRAIN_DNS_FQDN | Namnet som valideras |
SSLBRAIN_DNS_AUTODNS_TARGET | Appliancens CNAME-mål |
SSLBRAIN_DNS_REQUIREMENT_ID | Valideringens id, när det finns ett |
SSLBRAIN_DNS_USERNAME | Användarnamn från uppgiften |
SSLBRAIN_DNS_SECRET_FILE | Sökväg till en fil med behörigheterna 0600 som innehåller Lösenord / Nyckel. Hemligheten står aldrig på kommandoraden |
Exit-kod 0 betyder utfört, 2 betyder utfört med varning, och alla andra koder betyder fel.
Kontrollera att det fungerar
Kopiera länk till avsnittet “Kontrollera att det fungerar”- CNAME-vidarebefordran: skriv ett namn i zonen under Testa en domän på Domänvalidering och klicka på Kontrollera domän.
- Egen REST-leverantör: öppna uppgiften under Åtkomstuppgifter och klicka på Testa åtkomst.
- RFC 2136 och skript: det finns ingen Testa åtkomst. Skapa installationsplanen enligt steg 8. Panelen Domänvalidering i guiden ska visa “Valideras via DNS API-credential” och uppgiftens namn.
Misslyckas utfärdandet ändå, se Valideringen misslyckas.