Server Name Mismatch Hatası Nedir?
"Server name mismatch"
Bu hata, temelde iki şeyi ifade eder:
1. SSL sertifikanız, sunucunun sağladığı domain adı ile uyuşmaz.
2. Nginx yapılandırmasında birden fazla domain adıyla çalışıyorsanız, yanlış bir domain adı ile erişim yapılmaya çalışılıyor.
Yani, bu hata çoğunlukla SSL sertifikası ile bağlantılıdır ve sunucunuzun sağladığı domain adı ile SSL sertifikasında tanımlı domain adı uyumsuz olduğunda meydana gelir.
Hata Neden Oluşur?
1. SSL Sertifikası ve Sunucu Adı Uyumsuzluğu: Eğer SSL sertifikası yalnızca belirli bir domain adı için geçerliyse (örneğin, `www.ornek.com`), fakat siz siteye başka bir domain üzerinden (örneğin, `ornek.com`) erişmeye çalışıyorsanız, sunucu bu uyumsuzluk nedeniyle hatayı fırlatır.
2. Virtual Host Konfigürasyonu: Eğer Nginx üzerinde birden fazla sanal host (virtual host) yapılandırması varsa, yanlış `server_name` direktifini kullanarak belirli bir host’a yönlendirme yapmaya çalışabilirsiniz.
3. Eksik veya Hatalı DNS Yapılandırması: SSL sertifikasının geçerli olduğu domain adı ile DNS ayarlarında bir uyumsuzluk olması durumunda da bu hatayı alabilirsiniz.
Server Name Mismatch Hatası Nasıl Çözülür?
# Adım 1: SSL Sertifikasını Kontrol Edin
openssl x509 -in /path/to/your/certificate.crt -text -nooutBurada, `/path/to/your/certificate.crt` kısmını kendi sertifikanızın yolu ile değiştirin. Çıktıdaki `Subject` bölümünden hangi alan adları için geçerli olduğunu kontrol edebilirsiniz.
# Adım 2: Nginx Konfigürasyonunu Düzenleyin
server {
listen 80;
server_name www.ornek.com ornek.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name www.ornek.com ornek.com;
ssl_certificate /etc/nginx/ssl/ornek_com.crt;
ssl_certificate_key /etc/nginx/ssl/ornek_com.key;
location / {
root /var/www/ornek_com;
index index.html;
}
}Yukarıdaki yapılandırmada, `server_name` direktifi ile her iki domain adı (`www.ornek.com` ve `ornek.com`) belirtilmiştir. SSL sertifikasının geçerli olduğu domain ile bu yapılandırmayı eşleştirdiğinizden emin olun.
# Adım 3: DNS Ayarlarını Kontrol Edin
nslookup ornek.comEğer DNS kayıtlarınızda bir sorun varsa, doğru IP adresine yönlendirilmesi için DNS sağlayıcınız ile iletişime geçebilirsiniz.
# Adım 4: Nginx’i Yeniden Başlatın
sudo systemctl restart nginxBu, yapılandırma dosyalarınızın yeniden yüklenmesini sağlar ve hatanın düzeltilmesine yardımcı olur.