ACME'de HTTP-01 ile DNS-01 arasındaki fark nedir; wildcard için neden DNS-01 gerekir?
Kısa cevap
HTTP-01'de ACME sunucusu alan adının 80 portuna bir doğrulama isteği gönderir ve TR7 bunu seçilen HTTP vService üzerinden kendisi yanıtlar; ek kimlik bilgisi gerekmez, ama alan adının internetten 80 portuyla TR7'ye ulaşması gerekir. DNS-01'de TR7, ACME DNS Providers profilindeki DNS sağlayıcısının API'si ile _acme-challenge TXT kaydı yazar; vService'in internetten erişilebilir olması gerekmez. Wildcard adın (*.example.com) tek bir sunucusu olmadığı için alan adı kontrolü DNS düzeyinde kanıtlanmalıdır; bu yüzden ACME wildcard için yalnızca DNS-01 kabul eder.
Karşılaştırma
| HTTP-01 | DNS-01 | |
|---|---|---|
| Kanıt | http://<alan>/.well-known/acme-challenge/<token> adresinin yanıtı | _acme-challenge.<alan> TXT kaydı |
| TR7'de nasıl | Satırda seçilen HTTP vService doğrulama isteğini kendisi yanıtlar; istek Kurum Servisine gitmez | DNS sağlayıcısının API'siyle kayıt yazılır ve doğrulamadan sonra silinir |
| Gereksinim | Alan adı vService'in frontend IP'sine çözülmeli, 80 portu internetten açık olmalı | Desteklenen bir DNS sağlayıcısında API erişimi |
| Ek kayıt | Yok | Certificates & PKI → ACME DNS Providers profili; sertifika formunda DNS Provider alanında seçilir |
| Wildcard | Hayır | Evet |
| vService tipi | HTTP | HTTP, L7 TCP |
Challenge Type varsayılan olarak HTTP-01'dir. İki yöntemde de sertifika formundaki Domain ve vService tablosunda her ad için bir vService seçilir; sertifikanın adım adım alınışı Let's Encrypt / ACME ile otomatik sertifika alabilir miyim? sayfasındadır.
Neden Wildcard İçin DNS-01?
HTTP-01, belirli bir ad için o adın sunucusunun kontrol edildiğini kanıtlar. *.example.com ise sayısız alt adı kapsar; hiçbir tek sunucu hepsini temsil etmez. DNS-01 ise example.com bölgesinin yönetildiğini kanıtladığı için bütün alt adlar için geçerli bir kanıttır. TR7 bu kuralı formda da uygular: HTTP-01 seçiliyken wildcard ad girildiğinde form Wildcard domains require the DNS-01 challenge hatası verir.
Sık Karıştırılan Noktalar
- "HTTP-01 her vService tipinde çalışır." Doğrulama isteği yalnızca HTTP vService üzerinden yanıtlanır; L7 TCP vService için DNS-01 kullanılır.
- "DNS-01 iç alan adları için de çalışır." ACME sunucusu kaydı herkese açık DNS'te arar; alan adı herkese açık bir DNS bölgesinde bulunmalıdır.
- "DNS-01 seçince vService seçmek gerekmez." Domain ve vService tablosunda her satır için vService yine seçilir.
- "HTTPS açık olduğu için 80 portu kapatılabilir." HTTP-01 kullanılıyorsa 80 portu her yenilemede doğrulama için açık kalmalıdır.
Dokümantasyonda nasıl yapılır
