Let's Encrypt / ACME ile otomatik sertifika alabilir miyim?
Kısa cevap
Evet. Certificates & PKI → SSL/TLS Certificates → Add ekranında Type = ACME.SH seçilir (formun varsayılanı); Acme.sh Server (Let's Encrypt, ZeroSSL, SSL.com, Google), Challenge Type (HTTP-01 ya da DNS-01), alan adları ve otomatik yenileme eşiği girilir. Kayıt eklendiği anda TR7 sertifikayı alır; her gün 07:00 ve 22:00'de kontrol ederek eşiğe gelen sertifikayı yeniler ve sertifikayı kullanan vService'ler yenisini ayrıca işlem gerekmeden sunar. HTTP-01'de alan adı 80 portundan TR7'deki vService'e ulaşmalıdır; wildcard sertifika için DNS-01 ve bir ACME DNS Providers profili gerekir.
Sorun: Sertifikaları Elle Yenilemek Zaman Alıyor ve Unutuluyor
ACME ile verilen ücretsiz sertifikaların ömrü kısadır (ör. Let's Encrypt'te 90 gün); elle yenileme sık tekrar eden ve unutulmaya açık bir iştir. Sertifikanın otomatik alınması ve süresi dolmadan kendiliğinden yenilenmesi gerekir.
Çözüm: Üç Yöntem
Yöntem 1 ve 2 doğrulama biçimiyle ayrılır; Yöntem 3 aynı kaydı komut satırından oluşturur.
| Durumunuz | Uygun yöntem |
|---|---|
| Alan adı internetten 80 portu üzerinden TR7'deki HTTP vService'e ulaşıyor | Yöntem 1: ACME.SH + HTTP-01 |
| Wildcard sertifika ya da internetten 80 portuyla erişilmeyen alan adı | Yöntem 2: ACME.SH + DNS-01 |
| Kaydı komut satırından oluşturmak | Yöntem 3: WEB-CLI |
Yöntem 1: ACME.SH + HTTP-01 Önerilen
- Nasıl çalışır ACME sunucusu doğrulama isteğini alan adının 80 portuna
/.well-known/acme-challenge/yoluyla gönderir; TR7 bu isteği seçilen vService üzerinden kendisi yanıtlar, istek Kurum Servisine gitmez. - Nerede açılırCertificates & PKI → SSL/TLS Certificates → Add → Type = ACME.SH → Challenge Type = HTTP-01
- Gereksinim Alan adının DNS'te vService adresine çözülmesi; vService'te 80 portunda HTTP ya da HTTP → HTTPS protokollü bir frontend satırı; alan adında CAA kaydı varsa seçilen otoriteye izin vermesi
- vService tipi HTTP
Adım adım yapılandırma
Sol alttaki TR7 logosuyla Configuration Menu açılır; Certificates & PKI → SSL/TLS Certificates ekranında Add tıklanır (nasıl eklenir).
Certificate Name girilir; Type alanında varsayılan ACME.SH bırakılır. Tür kayıttan sonra değiştirilemez.
Acme.sh Server alanında varsayılan letsencrypt bırakılır ya da zerossl, sslcom, google seçilir; alanın altındaki bilgi kutusu alan adının CAA kaydında bulunması gereken değeri gösterir. zerossl, sslcom ve google seçilirse görünen EAB ID ve EAB HMAC alanlarına otoritenin verdiği değerler girilir. Otoritenin süre bildirimlerinin kuruma ulaşması için Acme.sh E-mail Register Address alanına bir adres yazılır; boş bırakılırsa TR7'nin varsayılan hesap adresi kullanılır.
Challenge Type alanında varsayılan HTTP-01 bırakılır. Domain ve vService tablosunun her satırına sertifikaya girecek alan adı ve bu adı yayınlayan HTTP vService yazılır; ilk satırın vService'i boş gelir ve seçilmelidir. Yeni satır + Add ile eklenir; sertifika listedeki bütün adları kapsar.
Acme.sh Key Length varsayılan olarak ec-256'dır (ec-384, ec-521 ya da RSA 2048, 3072, 4096 seçilebilir). Acme.sh Automatic Renewal varsayılan olarak bitişten 30 gün öncedir (7, 14, 30, 45, 89, 179 gün ya da Disabled). Cluster kurulumunda formun altındaki Network Source for Request başlığından isteğin hangi cihazdan (Device, varsayılan 1 numaralı cihaz) ve hangi Route Table'dan çıkacağı seçilir; alınan sertifika diğer cihaza aktarılır.
Formun altındaki Add tıklanır; sertifika alma işlemi kayıt oluşturulduğu anda başlar. İlerleme ve sonuç, kaydın önizlemesindeki ACME.SH sekmesinde izlenir.
Sertifika alındıktan sonra Load Balancer → Load Balancer vService List ekranında vService seçilip Edit tıklanır.
Encrypted (HTTPS) protokollü frontend satırı varken görünen Certificate alanında ACME sertifikası seçilir.
Save tıklanır. Cluster kurulumunda varsayılan auto-sync ile değişiklik eş cihaza da gönderilir; Manual Sync Mode açıksa eş cihaza elle gönderilir.
Doğrulama
Sertifika satırına tıklanır; önizlemenin ACME.SH sekmesinde son çalışmanın sonucu ve konsol çıktısı okunur.
Succeeded · listede Valid Until doluYöntem 2: ACME.SH + DNS-01
- Nasıl çalışır TR7, seçilen DNS sağlayıcısının API'siyle alan adına geçici bir
_acme-challengeTXT kaydı yazar; ACME sunucusu doğrulamayı DNS üzerinden yapar. Wildcard sertifika için tek yoldur; vService'in internetten 80 portuyla erişilebilir olması gerekmez. - Nerede açılırCertificates & PKI → ACME DNS Providers · sertifika formu → Challenge Type = DNS-01
- Gereksinim Alan adının DNS'ini barındıran sağlayıcıda API erişimi (Cloudflare, Amazon Route 53, Azure DNS ya da acme.sh'in desteklediği başka bir sağlayıcı)
- vService tipi HTTP, L7 TCP
Adım adım yapılandırma
Certificates & PKI → ACME DNS Providers ekranında Add tıklanır (nasıl eklenir).
Provider Name girilir; Provider Type seçilir ve türe göre görünen kimlik bilgileri girilir (ayrıntı: ACME DNS challenge için hangi DNS sağlayıcıları destekleniyor?).
Add tıklanır; profil listeye eklenir.
Certificates & PKI → SSL/TLS Certificates ekranında Add tıklanır; Certificate Name girilir, Type = ACME.SH bırakılır ve Yöntem 1'in 3. adımındaki gibi sunucu ve e-posta seçilir.
Challenge Type = DNS-01 seçilir; görünen DNS Provider alanında 3. adımdaki profil seçilir. Domain ve vService tablosuna adlar yazılır; alan adının kendisi ve alt alanları birlikte kapsanacaksa iki satır girilir (example.com ve *.example.com).
Acme.sh Key Length ve Acme.sh Automatic Renewal Yöntem 1'in 5. adımındaki gibi seçilir.
Add tıklanır; TR7 TXT kaydını yazar, doğrulamayı bekler ve sertifikayı alır. Sertifika Yöntem 1'in 7–9. adımlarıyla vService'e atanır.
Doğrulama
Önizlemenin ACME.SH sekmesinde sonuç; Details sekmesinin DNS satırında sertifikanın kapsadığı adlar görülür.
Succeeded · DNS: example.com, *.example.comYöntem 3: WEB-CLI
- Nasıl çalışır ACME kaydı komut satırından oluşturulur; alma işlemi kayıt eklenince başlar. Arayüzdeki 30 günlük varsayılan yenileme eşiği WEB-CLI'da uygulanmaz: eşik yazılmazsa listenin ilk değeri olan 7 gün kaydedilir. Bu yüzden eşik açıkça yazılır (
7,14,30,45,90ya da180). - Nerede açılır TR7 WEB-CLI →
lb certificate add - Gereksinim WEB-CLI erişimi; Yöntem 1 ya da 2'deki ağ ve DNS gereksinimleri
- vService tipi HTTP (HTTP-01); HTTP, L7 TCP (DNS-01)
Adım adım yapılandırma
<vService> yerine doğrulama isteğini yanıtlayacak HTTP vService'in adı Tab ile seçilir (acmeSh):
lb certificate add type acmeSh name portal-le --acmeShServer letsencrypt --acmeShEmailAddress ops@example.com --acmeShChallengeType http01 --acmeShDomains.0.domain portal.example.com --acmeShDomains.0.poolId <vService> --acmeShRenewThreshold 30İkinci alan adı --acmeShDomains.1.domain ve --acmeShDomains.1.poolId ile aynı satıra eklenir.
dns01 yazıldığında sağlayıcı alanı zorunlu olur ve -- olmadan hemen ardından yazılır; joker değer tek tırnakla verilir:
lb certificate add type acmeSh name joker-le --acmeShChallengeType dns01 acmeShDnsProviderId <sağlayıcı> --acmeShDomains.0.domain '*.example.com' --acmeShDomains.0.poolId <vService> --acmeShRenewThreshold 30Doğrulama
Kayıt listelenir; alımın sonucu arayüzde kaydın ACME.SH sekmesinden izlenir.
Komut: lb certificate list
portal-le listede · ACME.SH sekmesinde SucceededSık Yapılan Hatalar
- HTTP-01'de vService'te 80 portu tanımlamamak. Doğrulama isteği alan adının 80 portuna gelir; vService yalnızca 443 dinliyorsa alım başarısız olur. 80 portunda HTTP → HTTPS satırı yeterlidir.
- HTTP-01'i L7 TCP vService ile kullanmak. Doğrulama isteği yalnızca HTTP vService üzerinden yanıtlanır; L7 TCP için DNS-01 kullanılır.
- Wildcard için HTTP-01 seçmek. Form Wildcard domains require the DNS-01 challenge hatası verir.
- CAA kaydını gözden kaçırmak. Alan adında CAA kaydı varsa seçilen otoriteye izin vermelidir (Let's Encrypt için
letsencrypt.org, ZeroSSL içinsectigo.com, SSL.com içinssl.com, Google içinpki.goog). - Acme.sh Automatic Renewal'ı Disabled bırakmak. Bu seçenekte sertifika kendiliğinden yenilenmez; yenileme ACME.SH sekmesindeki Renew Certificate ile elle yapılır.
- Eski kayıtlarda buypass sunucusunda kalmak. Buypass sertifika vermeyi bıraktığı için bu sunucudaki kayıtlar yenilenemez; kayıt düzenlenip başka bir sunucu seçilir.
Dokümantasyonda nasıl yapılır
