wget HTTPS adresinden dosya indirirken sertifikayı doğrulayamazsa, işlemi durdurur ve benzer bir mesaj verir:
ERROR: cannot verify alanadi.com's certificate, issued by 'CN=...':
Unable to locally verify the issuer's authority.
To connect to alanadi.com insecurely, use '--no-check-certificate'.
Bu hata ne zaman çıkar?
- Sunucu zincirdeki ara sertifikayı göndermiyor.
- Sistemin CA paketi (
ca-certificates) eski veya yüklü değil; özellikle minimal konteyner imajlarında sık görülür. - Kurum içi CA veya kendinden imzalı sertifika kullanılıyor.
- Sunucu ile istemci saati arasında fark var; sertifika "dolmuş" veya "henüz geçerli değil" görünüyor.
- Sertifika adı bağlanılan adla uyuşmuyor (
certificate common name doesn't match requested host name).
Adım adım çözüm
- CA paketini yükleyin/güncelleyin. Debian ve Ubuntu'da:
sudo apt-get install --reinstall ca-certificates
sudo update-ca-certificates
- Özel CA için kök sertifikayı açıkça tanıtın:
wget --ca-certificate=/etc/ssl/kurum-ca.pem https://ic-servis.sirket.local/dosya.zip
- Kalıcı yapmak için kullanıcı yapılandırma dosyasına (
~/.wgetrc) şunu ekleyin:
ca_certificate = /etc/ssl/kurum-ca.pem
- Sunucu zincirini
openssl s_client -connect alanadi.com:443 -showcertsile kontrol edip eksik ara sertifikayı sunucuya ekleyin. - Tarih ve saatin doğru olduğundan emin olun.
Güvenlik notu
--no-check-certificate doğrulamayı kapatır; indirilen dosyanın ortadaki bir saldırgan tarafından değiştirilebileceği anlamına gelir. Betiklerde ve otomasyonda kalıcı olarak kullanmayın. Sunucunuzdaki zincir kurulumunu SSL kontrol aracıyla doğrulayabilir, sertifika ihtiyacınız için SSL sertifikaları sayfasına bakabilirsiniz.