Titkosítsuk a DomainFactory-t

Néhány cPanel-lel rendelkező megosztott tárhelycsomag nem kínál AutoSSL-t – vagy csak a magasabb árú csomagokban. Ennek eredményeként nem lehet ingyenes Let's Encrypt tanúsítványt kiállítani a cPanel felületén keresztül, és minden domainhez önaláírt tanúsítvány tartozik. A böngésző „nem biztonságosként” jeleníti meg az oldalt. A megoldás: szerezd be a tanúsítványt saját kezűleg az acme.sh használatával, és telepítsd a cPanel UAPI-n keresztül. Automatikusan megújul, AutoSSL nélkül.


A HTTPS mostantól kötelező: annál is bosszantóbb, ha a saját tárhelycsomagod nem kínál kényelmes módot egy ingyenes tanúsítvány megszerzésére. Ez gyakrabban fordul elő, mint gondolnád – például az olcsó belépő szintű csomagoknál, vagy egy csomagváltás után, amikor a tanúsítvány hirtelen már nem szerepel a csomagban. Ez a hiányosság azonban elegánsan és véglegesen megszüntethető mindössze néhány sornyi kóddal a shellben – a teljes folyamatot az alábbiakban ismertetjük.

1. Jelentkezzen be SSH-n keresztül

ssh -p <port> <cpanel-user>@<host>

2. Telepítse az acme.sh fájlt

curl https://get.acme.sh | sh -s email=du@example.com
source ~/.bashrc

3. Állítsa be a Let's Encrypt-et hitelesítésszolgáltatóként

acme.sh --set-default-ca --server letsencrypt

4. Igazolás kiállítása

acme.sh --issue -d example.com -d www.example.com -w ~/public_html

5. Telepítés a cPanelre

acme.sh --deploy -d example.com --deploy-hook cpanel_uapi

6. Ellenőrzés

uapi SSL installed_hosts
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
     | openssl x509 -noout -issuer -dates

A hook UAPI-n keresztül írja a tanúsítványt a megfelelő virtuális gépre. A telepítési beállítások mentésre kerülnek – mostantól a cron automatikusan megújítja és telepít mindent a lejárat előtt. A kibocsátónak a „Let's Encrypt”-nek kell lennie, a lejárati dátumnak pedig körülbelül 90 nap múlva kell lennie. Ha a régi, önaláírt tanúsítvány továbbra is megjelenik, a böngészőben a kemény újratöltés általában segít – az előző tanúsítvány ideiglenesen gyorsítótárazva lehet.

Néhány tárhelyszolgáltató saját cPanel hookot üzemeltet. install_ssl és valami ilyesmivel válaszol adminbin Cpanel/hooks2/...: exit 255. Az acme.sh továbbra is „sikeresen telepítve” állapotot jelez – és ez általában helyes is. Ebben az esetben a hook egy későbbi lépés – például a tárhelyszolgáltató belső értesítése vagy szinkronizálási feladata – miatt hiúsul meg, nem maga a telepítés miatt.

Az umlautot tartalmazó domainek esetében az acme.sh a tanúsítványt Punycode formátumban tárolja belsőleg (xn--…), míg a hook automatikus egyeztetője összehasonlítja az Unicode űrlapot. Eredmény: „0 webhelyből 0-ra telepítve” – semmi sincs telepítve. A trükkös rész: az acme.sh itt is „Sikeres” eredményt jelez, így a hiba könnyen figyelmen kívül hagyható. Megoldás: közvetlenül a Punycode tartománnyal dolgozz, és tiltsd le az automatikus egyeztetést.:

# Punycode-Form der Domain vorher ermitteln (z. B. via idn-Tool oder Online-Konverter)
acme.sh --issue -d xn--<punycode> -d www.xn--<punycode> -w ~/public_html
export DEPLOY_CPANEL_AUTO_ENABLED='false'
acme.sh --deploy -d xn--<punycode> --deploy-hook cpanel_uapi

SSH hozzáféréssel nincs szükség AutoSSL-re: az acme.sh kiállítja a tanúsítványt, amely cpanel_uapiA -Hook telepíti, és a mellékelt cron feladat automatikusan frissíti. A beállítás után az ingyenes HTTPS szolgáltatás folyamatosan, önállóan fut. Azok, akik belefektetik a kezdeti erőfeszítést, a jövőben megspórolják maguknak a manuális megújítást – és egyetlen paranccsal kiterjeszthetik ugyanazt a megoldást ugyanazon fiók bármely további domainjére.

Vissza