Nginx ‘Server Name Mismatch’ Hatası ve Çözümü: Derdinize Derman Olacak Adımlar

Bu yazı, Nginx üzerinde “Server Name Mismatch” hatasını ve nasıl çözüleceğini anlatan ayrıntılı bir rehberdir.

BFS

Bir sabah işe başlamışken, karşınıza bir hata çıkarsa ne yaparsınız? Hele ki o hata, web sitenizin çalışmasını engelliyorsa? Nginx üzerinden bir proje geliştiriyorsanız, “Server Name Mismatch” hatasını kesinlikle duymuşsunuzdur. Peki, bu hata nedir ve nasıl çözülür? Hadi gelin, adım adım bu sorunu çözmek için yapmamız gerekenlere göz atalım.

Server Name Mismatch Hatası Nedir?

Diyelim ki, bir web sunucusu kuruyor ve SSL sertifikası ile HTTPS üzerinden güvenli bağlantı sağlamaya çalışıyorsunuz. Nginx üzerinden sunucunuzu yapılandırırken, bu hatayı almanız olasıdır. Hata mesajı genellikle şöyle görünür:

"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?

Bu hatanın başlıca nedenleri şunlardır:

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?

Şimdi gelin, bu hatayı nasıl çözebileceğimize bakalım. İşte yapmamız gereken adımlar:

# Adım 1: SSL Sertifikasını Kontrol Edin

İlk olarak, SSL sertifikanızın doğru domain adıyla ilişkilendirildiğinden emin olun. Sertifikanızın geçerli olduğu alan adını kontrol etmek için aşağıdaki komutu kullanabilirsiniz:

openssl x509 -in /path/to/your/certificate.crt -text -noout


Burada, `/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

Nginx yapılandırmasında, doğru `server_name` direktifini kullandığınızdan emin olun. Aşağıda, bir Nginx sanal host yapılandırmasının örneği yer almaktadır:

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

SSL sertifikasının geçerli olduğu domain ile DNS ayarlarında da bir uyumsuzluk olmamalıdır. Domain adınızın doğru IP adresine yönlendirilip yönlendirilmediğini kontrol etmek için aşağıdaki komutu kullanabilirsiniz:

nslookup ornek.com


Eğ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

Değişikliklerinizi yaptıktan sonra Nginx’i yeniden başlatarak yapılandırmanızı uygulayın:

sudo systemctl restart nginx


Bu, yapılandırma dosyalarınızın yeniden yüklenmesini sağlar ve hatanın düzeltilmesine yardımcı olur.

Hata Çözülüp Çözülmediğini Kontrol Edin

Nginx yapılandırmasını ve SSL sertifikasını doğru şekilde ayarladıktan sonra, web sitenizi tekrar ziyaret edin. Eğer hala "Server Name Mismatch" hatası alıyorsanız, sertifika ile ilgili bir sorun olabilir veya yapılandırmanızı daha ayrıntılı bir şekilde incelemeniz gerekebilir.

Sonuç

“Server Name Mismatch” hatası, özellikle SSL sertifikası ve sunucu yapılandırmalarının uyumsuz olduğu durumlarda karşılaşılan yaygın bir sorundur. Neyse ki, doğru ayarlamalarla bu hatayı kolayca çözebilirsiniz. Sertifikanızın doğruluğundan emin olun, Nginx konfigürasyonunuzu düzenleyin ve DNS ayarlarını gözden geçirin. Bu adımları takip ederek, sitenizi güvenli ve düzgün bir şekilde çalıştırabilirsiniz.

İlgili Yazılar

Benzer konularda diğer yazılarımız

Web Sitesi Güvenliğini Arttırmak İçin 2025'te Kullanılması Gereken En İyi 5 SSL Sertifikası Seçeneği

Web sitesi güvenliği, dijital dünyada birinci öncelik haline geldi. Kullanıcı bilgilerini korumak, marka güvenilirliğini artırmak ve web sitenizin arama motorlarında üst sıralarda yer almasını sağlamak için doğru SSL sertifikasını seçmek çok önemlidir....

SEO İçin En İyi Web Sunucu Yapılandırmaları: Apache vs. Nginx Karşılaştırması

Web sitesi sahiplerinin en büyük endişelerinden biri, kullanıcı deneyimini iyileştirecek ve arama motoru sıralamalarını yükseltecek doğru sunucu yapılandırmasını bulmaktır. Bu yazıda, Apache ve Nginx arasındaki farkları ve her iki sunucunun SEO üzerindeki...

"Yapay Zeka ile Web Performansı: Nginx ve AI Entegrasyonunun Geleceği"

** Günümüzün hızla dijitalleşen dünyasında, web siteleri için performans kritik bir faktör haline geldi. Hızlı yükleme süreleri, ziyaretçilerin web sitenize olan ilgisini doğrudan etkileyebilir. Ancak, bu performansı artırmak sadece daha güçlü sunucularla...