HTTPS’in çalışmaması birkaç klasik sebepten olur. Aşağıdaki adımları sırayla kontrol ederek genelde sorun hemen bulunur.
1) 443 portu açık mı?
-
Sunucu güvenlik duvarında 443 kapalıysa HTTPS hiç açılmaz.
-
Kontrol:
-
UFW:
ufw status -
Firewalld:
firewall-cmd --list-ports
-
-
Açma (örnek):
-
UFW:
ufw allow 443/tcp -
Firewalld:
firewall-cmd --permanent --add-service=https && firewall-cmd --reload
-
2) Apache/Nginx 443 dinliyor mu?
-
Kontrol:
-
ss -lntp | grep :443
-
-
Çıktı yoksa web sunucusu 443’te dinlemiyordur (SSL VirtualHost eksik/kapalı olabilir).
3) SSL VirtualHost aktif mi?
Apache için:
-
apachectl -Sçalıştırın ve*:443VirtualHost görünüyor mu bakın. -
Debian/Ubuntu:
-
SSL modülü:
a2enmod ssl -
SSL site:
a2ensite your-ssl-site.conf -
Yeniden başlat:
systemctl restart apache2
-
4) Sertifika dosya yolları doğru mu?
Apache config içinde şunlar doğru olmalı:
-
SSLCertificateFile -
SSLCertificateKeyFile -
(varsa)
SSLCertificateChainFileveya tam chain dosyası
Sık hata: Sertifika/chain eksik veya yanlış dosya yolu.
5) Sertifika ve key eşleşiyor mu?
Eşleşmiyorsa HTTPS çalışmayabilir.
-
Kontrol (modulus karşılaştırma):
-
openssl x509 -noout -modulus -in certificate.crt | openssl md5 -
openssl rsa -noout -modulus -in private.key | openssl md5
İki çıktı aynı olmalı.
-
6) Sadece HTTP çalışıyor, HTTPS’e yönlendirme var ama SSL yok mu?
Bazı durumlarda 80’den 443’e yönlendiriyorsunuz ama 443 VirtualHost yoksa tarayıcı hata verir.
-
Çözüm: Önce 443 SSL VirtualHost’u düzgün çalıştırın, sonra yönlendirme ekleyin.
7) Cloudflare / CDN / Load Balancer kullanıyor musunuz?
-
Cloudflare “Flexible SSL” gibi modlarda sunucu tarafında SSL yoksa karışıklık olur.
-
CDN arkasındaysanız origin (sunucu) sertifikası ve mod ayarları kontrol edilmeli.
8) Hata loglarını kontrol edin (en hızlı teşhis)
Apache:
-
tail -n 200 /var/log/apache2/error.log -
veya:
tail -n 200 /var/log/httpd/error_log
Nginx:
-
tail -n 200 /var/log/nginx/error.log
Burada genelde “certificate file not found”, “key mismatch”, “permission denied” gibi net bir hata çıkar.

