Bu hata, genellikle SSL sertifikası kullanırken karşılaşılan bir sorun olup, web sitenizin doğru şekilde yüklenmemesine yol açabilir. Eğer siz de bu hatayla karşı karşıyaysanız, yalnız değilsiniz! Bu yazıda, Nginx 'Server Name Mismatch' hatasının ne olduğunu, neden ortaya çıktığını ve bu hatayı nasıl çözebileceğinizi adım adım ele alacağım.
Server Name Mismatch Hatası Nedir?
Bu durumda Nginx, istemciden gelen SSL isteklerini doğru şekilde işleyemez ve bu da “Server Name Mismatch” hatasına yol açar. Hata mesajı genellikle şu şekilde görünür:
```
SSL error: server name mismatch
```
Hata Neden Ortaya Çıkar?
1. Yanlış Alan Adı ile Sertifika Kullanımı: SSL sertifikası, yalnızca belirli bir alan adına tanımlıdır. Eğer birden fazla domain için aynı sertifikayı kullanıyorsanız, doğru domain adıyla eşleşmeyebilir.
2. Yanlış Nginx Konfigürasyonu: Nginx yapılandırma dosyasındaki server_name direktifi, SSL sertifikasıyla uyumlu değilse, bu hataya neden olabilir.
3. Çift Sertifika Kullanımı: Nginx sunucusunun birden fazla SSL sertifikasıyla yapılandırılması, bazen bu tür hatalara yol açabilir.
4. Sertifika Yükleme Hataları: Sertifikanın doğru şekilde yüklenmemesi veya eksik bir dosyanın olması da hataya neden olabilir.
Server Name Mismatch Hatasını Nasıl Çözebilirsiniz?
# 1. SSL Sertifikasının Alan Adı ile Eşleşip Eşleşmediğini Kontrol Edin
```bash
openssl s_client -connect orneksite.com:443
```
Yukarıdaki komut, bağlantı sırasında kullanılan SSL sertifikasını görüntülemenizi sağlar. Sertifikanın "Common Name" kısmı ile kullandığınız domain adının eşleşip eşleşmediğini kontrol edin. Eğer uyuşmazlık varsa, yeni bir SSL sertifikası almanız gerekebilir.
# 2. Nginx Yapılandırmanızı Kontrol Edin
```nginx
server {
listen 443 ssl;
server_name www.orneksite.com;
ssl_certificate /etc/ssl/certs/orneksite.com.crt;
ssl_certificate_key /etc/ssl/private/orneksite.com.key;
# Diğer ayarlar
}
```
Yukarıdaki yapılandırmada, www.orneksite.com alan adı için sertifika kullanılmıştır. Eğer birden fazla domain ile aynı sunucuyu yönetiyorsanız, her domain için benzer bloklar oluşturmanız gerekebilir.
# 3. Doğru Sertifika Yüklemesini Sağlayın
# 4. Nginx’i Yeniden Başlatın
```bash
sudo systemctl restart nginx
```
Bu komut, yaptığınız tüm değişikliklerin geçerli olmasını sağlar.
# 5. Hata Mesajını Kontrol Edin
Sonuç
Eğer yukarıdaki adımları uyguladığınız halde sorun devam ediyorsa, daha derinlemesine bir inceleme yapmanız gerekebilir. Unutmayın, her sorunun çözümü vardır!