Bu hata, genellikle SSL sertifikalarınızı kurarken veya alan adı yönlendirmelerini yapılandırırken karşılaşılabilen bir sorundur. İlk başta, hata mesajını gördüğünüzde “Nerede hata yaptım?” diye düşünmek oldukça normal. Ama endişelenmeyin, bu yazıda adım adım bu hatanın ne olduğunu ve nasıl çözüleceğini anlatacağım.
Server Name Mismatch Hatası Nedir?
Server Name Mismatch hatası, temelde Nginx'in, SSL sertifikasının beklediği alan adıyla sunucunun sağladığı alan adı arasında bir uyuşmazlık olduğunda meydana gelir. Yani, Nginx sunucusu, gelen istekle eşleşmeyen bir SSL sertifikası kullanmaya çalışır. Bu da tarayıcınızda “Güvenli Değil” uyarısı ve başka hatalarla karşılaşmanıza neden olabilir.
Örnek vermek gerekirse, eğer SSL sertifikası www.example.com için alınmışsa ama Nginx example.com'a yönlendirme yapıyorsa, tarayıcı bu uyuşmazlığı fark eder ve bağlantıyı güvenli kabul etmez.
Server Name Mismatch Hatasının Sebepleri
Bu hatayı almanıza neden olan birkaç olasılık bulunuyor:
1. SSL Sertifikası Yanlış Alan Adı İçin Alınmış: Sertifikanın alan adı, sunucunun yönlendirdiği alan adıyla uyuşmuyor.
2. Yönlendirme Hataları: Nginx, doğru alan adına yönlendirmiyor ya da yanlış domain ile yapılandırılmış.
3. Hostname Yapılandırma Hataları: Sunucu ayarlarında yanlış bir hostname tanımlaması olabilir.
Merak etmeyin! Çözüm çok basit ve adım adım takip edebileceğiniz bir yol haritası var. Şimdi buna bakalım.
Server Name Mismatch Hatası Nasıl Çözülür?
Bu hatayı çözmek için öncelikle, aşağıdaki adımları takip edebilirsiniz:
1. SSL Sertifikasının Alan Adı ile Uyumlu Olduğundan Emin Olun
SSL sertifikası, doğru alan adıyla eşleşmelidir. Eğer sertifikanızda example.com varsa, Nginx yapılandırmasında da bu adı kullanmalısınız. Eğer sertifikayı yeniden almanız gerekiyorsa, bunu sağlayın.
2. Nginx Konfigürasyon Dosyasını Kontrol Edin
Nginx konfigürasyon dosyasında, doğru alan adı yönlendirmeleri yapıldığından emin olun. Aşağıdaki kodu kontrol edin:
server {
listen 80;
server_name www.example.com example.com;
location / {
# Your settings here
}
}
3. SSL Ayarlarını Güncelleyin
Eğer SSL sertifikası doğru değilse, aşağıdaki gibi doğru sertifikaları ekleyerek Nginx yapılandırmasında düzeltmeler yapabilirsiniz:
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
location / {
# Your settings here
}
}
4. Yönlendirmeleri Doğru Yapın
Eğer alan adlarınızı yönlendirme yapmak istiyorsanız, Nginx yapılandırmasında aşağıdaki gibi bir yönlendirme eklemelisiniz:
server {
listen 80;
server_name example.com;
return 301 https://www.example.com$request_uri;
}
Bu şekilde, tüm HTTP taleplerini HTTPS'ye ve doğru domaine yönlendirmiş olursunuz.
Özetle
Server Name Mismatch hatası, genellikle sertifika ve alan adı eşleşmeme sorunlarından kaynaklanır. Nginx sunucusunda doğru yapılandırmalarla, doğru SSL sertifikaları kullanarak ve yönlendirmeleri kontrol ederek bu hatayı hızlıca çözebilirsiniz.
Unutmayın, bu tür hatalar çoğu zaman yapılandırma hatalarından kaynaklanır, bu yüzden konfigürasyon dosyalarınızı dikkatlice inceleyin. Sorunları hızlıca çözerek web sitenizin güvenliğini artırabilirsiniz.