Potrdilo wildcard (*.pelda.hu) ščiti vse poddomene prve ravni domene, zato ti ni treba za vsako novo poddomeno zahtevati ločenega potrdila. Let’s Encrypt potrdilo wildcard izda brezplačno, vendar le s preverjanjem prek DNS: razpolaganje z domeno je treba dokazati z zapisom TXT z imenom _acme-challenge.pelda.hu.
Na gostovanju cPanel to običajno ni potrebno, ker AutoSSL za vsako poddomeno samodejno zahteva potrdilo. Ta članek je namenjen tistim, ki upravljajo lasten VPS ali namenski strežnik.
Na kaj paziti?
*.pelda.huščiti le poddomene, samega naslovapelda.hupa ne. Zato zahtevaj oba:-d pelda.hu -d '*.pelda.hu'.- Wildcard ščiti le eno raven: velja za naslov
bolt.pelda.hu, zateszt.bolt.pelda.hupa ne. - Zapis TXT je treba ob vsakem podaljšanju ustvariti znova. Z ročnim ustvarjanjem podaljšanja ni mogoče avtomatizirati, zato uporabi orodje, ki zapis ustvari samo prek API-ja ponudnika DNS.
Z acme.sh (priporočeno)
acme.sh je lahek odjemalec ACME, ki podpira API-je več kot sto ponudnikov DNS.
Namestitev
curl https://get.acme.sh | sh -s email=it@pelda.hu
source ~/.bashrc
acme.sh --set-default-ca --server letsencrypt
Zadnji ukaz nastavi Let’s Encrypt kot privzetega izdajatelja, ker acme.sh sam od sebe uporablja ZeroSSL.
Zahteva, če je DNS pri Cloudflare
V Cloudflare ustvari žeton API s pravico Zone → DNS → Edit za določeno domeno, nato:
export CF_Token="a-cloudflare-api-token"
acme.sh --issue --dns dns_cf -d pelda.hu -d '*.pelda.hu'
Zahteva, če je DNS na tvojem gostovanju cPanel
Če domena uporablja naše imenske strežnike in cono DNS upravljaš v cPanelu, lahko acme.sh zapis ustvari tudi prek API-ja cPanel. V cPanelu ustvari žeton API (Varnost → Manage API Tokens), nato:
export cPanel_Username="cpanel-felhasznalonev"
export cPanel_Apitoken="a-cpanel-api-token"
export cPanel_Hostname="https://a-cpanel-szerver-neve:2083"
acme.sh --issue --dns dns_cpanel -d pelda.hu -d '*.pelda.hu'
Žeton API daje poln dostop do računa cPanel, zato z njim ravnaj kot z geslom.
Namestitev v spletni strežnik
acme.sh --install-cert -d pelda.hu \
--key-file /etc/ssl/pelda.hu.key \
--fullchain-file /etc/ssl/pelda.hu-fullchain.crt \
--reloadcmd "systemctl reload nginx"
acme.sh ob namestitvi nastavi tudi dnevno opravilo cron, ki potrdilo pravočasno podaljša, ga prekopira na zgornja mesta in znova naloži spletni strežnik. Podatke API shrani, zato jih za podaljšanje ni treba znova vnašati.
S Certbotom
Tudi Certbot zna zahtevati potrdilo wildcard, če ima razširitev za tvojega ponudnika DNS. Na primer pri Cloudflare:
dnf install python3-certbot-dns-cloudflare # ali: apt install python3-certbot-dns-cloudflare
cat > /root/.cloudflare.ini <<'EOF'
dns_cloudflare_api_token = a-cloudflare-api-token
EOF
chmod 600 /root/.cloudflare.ini
certbot certonly --dns-cloudflare \
--dns-cloudflare-credentials /root/.cloudflare.ini \
-d pelda.hu -d '*.pelda.hu'
Podaljšanje je enako samodejno kot pri drugih potrdilih Certbot, glej: Pridobitev potrdila Let’s Encrypt s Certbotom.
Ročno preverjanje prek DNS (le za enkratno uporabo)
Če za tvojega ponudnika DNS ni API-ja, lahko zapis ustvariš tudi ročno:
certbot certonly --manual --preferred-challenges dns -d pelda.hu -d '*.pelda.hu'
Certbot izpiše ime in vrednost zapisa TXT, ki ga je treba ustvariti. Ustvari ga v DNS, počakaj, da postane viden (dig TXT _acme-challenge.pelda.hu +short), in šele nato pritisni Enter. Tako pridobljeno potrdilo se ne podaljša samodejno, pred potekom moraš postopek ponoviti. Kot trajna rešitev zato ni priporočljivo.
Namig: delegiranje CNAME
Če na strežniku ne želiš hraniti ključa API, ki daje dostop do celotne cone DNS, lahko ime _acme-challenge.pelda.hu z zapisom CNAME preusmeriš v drugo cono, namenjeno le temu, do katere imaš dostop API. acme.sh to podpira s stikalom --challenge-alias.
Če ima domena zapis CAA, naj bo v njem naveden letsencrypt.org, pri potrdilu wildcard tudi z oznako issuewild, če tak zapis uporabljaš.