Methode om in ESA in CNAME-modus een wildcardcertificaat te verkrijgen
Categories:
Domein gehost op AliCloud DNS of derden, kan de domein-NS niet migreren, maar heeft een wildcard nodig. AliCloud ESA biedt een quotum van 10 certificaten, wat duidelijk niet genoeg is.
Hier deel ik een methode om een wildcardcertificaat te verkrijgen, aan het einde wordt het principe uitgelegd.
Deze handelingen moeten worden uitgevoerd in twee bedrijfsinterfaces:
- ESA
- Domeinnaambeheer (of derde DNS-resolver)
Uitvoeringsstappen
- ESA: DNS -> Instellingen: Overschakelen naar NS-toegangsmodus, bevestig direct, geen andere handelingen nodig.
- ESA: gratis Edge-certificaat aanvragen, alleen
*.example.comaanvragen, gebruik je eigen domein. - ESA: open de uitklaplijst van het certificaat dat wordt aangevraagd, verkrijg de TXT-record, hostrecord:
_acme-challenge.example.com, recordwaarde:-PewtWrH93avbM_bScUILtcNwCHifNvjZIa2VgT9seQ - Domeinnaambeheer: maak een TXT-record aan, vul de hostrecord en recordwaarde uit de vorige stap in.
- Wacht op het verkrijgen van het wildcardcertificaat, als het binnen tien minuten niet is verkregen, betekent dit dat er een fout is opgetreden, controleer de fout zelf.
- ESA: DNS -> Instellingen: Overschakelen naar CNAME-toegangsmodus, bevestig direct, geen andere handelingen nodig.
Principe
Alle gratis certificaten komen van letsencrypt, met twee verificatiemethoden:
- HTTP-01 Challenge: de verificatieserver van Let’s Encrypt maakt via HTTP een verzoek naar een specifiek bestand op jouw server (onder het pad .well-known/acme-challenge/), om jouw controle over het domein te bevestigen.
- DNS-01 Challenge: deze methode vereist dat je een specifieke TXT-record toevoegt aan de DNS-records van jouw domein. Door een specifieke TXT-record toe te voegen aan DNS, kun je aantonen dat je controle hebt over het domein.
Wildcardcertificaten kunnen alleen worden verkregen via DNS-01 Challenge, wat betekent dat DNS-records moeten worden geconfigureerd. Daarom vereist ESA dat het domein wordt gehost op het ESA-platform om een wildcardcertificaat aan te vragen. In de uitvoeringsstappen is “ESA: DNS -> Instellingen: Overschakelen naar NS-toegangsmodus” een conclusie die wordt getrokken uit de analyse van de ESA API ApplyCertificate retourinformatie. Deze stap heeft geen praktische werking, maar dient alleen om de AliCloud-validatie te omzeilen.
De kernstap is om bij het aanvragen van een certificaat bij Let’s Encrypt de vooraf bepaalde TXT-record te schrijven naar de NS-server van het domein, ongeacht of deze server afkomstig is van Domeinnaambeheer of ESA, om te bewijzen dat het domein van jou is.
Samenvatting
Zowel ESA als Domeinnaambeheer behoren toe aan AliCloud, maar kunnen geen gegevens delen. ESA heeft duidelijk de mogelijkheid om te controleren of een domein toebehoort aan het account, en het verkrijgen van een wildcardcertificaat vereist slechts het toevoegen van één DNS-resolverregel in Domeinnaambeheer en een autorisatie. Echter, dit is niet geïmplementeerd. Er is ruimte voor verbetering van de gebruikerservaring.
Het certificaat dat met deze methode wordt verkregen, kan mogelijk niet worden bijgewerkt. Je kunt andere methoden gebruiken om het certificaat te synchroniseren met ESA: https://api.aliyun.com/api/ESA/2024-09-10/SetCertificate