Nginx SSL Sertifika Yüklenmesi

NGINX SSL Certificate: Installation, Issuance, and Validation Process

Nginx'te bir SSL Sertifikası yüklemek, web sunucunuz ve tarayıcınız arasında güvenli bir bağlantı sağlar. İnternet üzerinden iletilen verileri yalnızca hedeflenen alıcı tarafından görülebilecek şekilde şifreler. Bu kılavuzda, basit bir şekilde Nginx'te nasıl SSL sertifikası yükleyeceğimizi göreceğiz.

Bu kılavuz, zaten bir sertifika imzalama isteği oluşturduğunuzu ve bir Sertifika Yetkilisi (CA) tarafından verilen SSL sertifikanızı aldığınızı varsayar. 

Ön Gereksinimler

  • Alan adınız için, sertifika yetkilisi tarafından verilen bir sunucu sertifikası
  • Intermediate certificates (.crt, .pem vb.)
  • private key dosyası
  • Nginx'te yüklü bir sistem
  • sudo yetkilerine sahip bir kullanıcı

Nginx'te SSL Yapılandırma

Elimizdeki sertifika dosyalarının nerede olduğunu belirtmemiz gerekmektedir. Bunun için NGINX sunucusu içinde web sitenizin virtual host dosyasını yapılandırmamız gerekiyor. Aşağıdaki işlemleri kendi web sitenizin virtualhost dosyasında gerçekleştirebilirsiniz. 

Nginx varsayılan Virtual Host dosyasını /etc/nginx/sites-enabled/default dosyası olarak tanımlanmaktadır.

vHost düzenlemeden önce yapılacak işlemleri anlamakta fayda vardır. Aşağıdaki açıklamaları okumanız gerekmektedir.

  • listen 443 ssl; Sunucunun 443 dinleme bağlantı noktasını belirtin.
  • ssl_certificate /etc/perls/cer.crt; SSL sertifikasının yolunu  tanımlayın. (pem, crt)
  • ssl_certificate_key /etc/perls/private.key; SSL sertifika anahtarının yolunu  tanımlayın. (key)
  • root /var/www/domain-name.com/html; Web site dosyalarının yolu
  • index index.html index.htm; Adreste yalnızca alan adı belirtilmişse görüntülenecek dosyalar
  • server_name; Sanal Ana Bilgisayarın adına atıfta bulunur.
  • error_log: Başarısız erişim, sistem günlük dosyalarının yolunu içerir.
  • access_log: Başarılı erişim, sistem günlük dosyalarının yolunu içerir.

Değişiklikleri yapmak için kullandığımız, virtualhost dosyasını editör ile açalım.

sudo vim /etc/nginx/sites-enabled/mehmetoz.com

Yapılandırmayı aşağıdan kopyalayıp ve içeriği düzenleyebilirsiniz. Yapılandırma dosyası aşağıdakine benzer görünmelidir.

server {
listen 443 ssl;
ssl_certificate /etc/perls/cer.crt;
ssl_certificate_key /etc/perls/private.key;
server_name mehmetoz.onkoloji.gov.tr;
access_log /var/log/nginx/nginx.vhost.access.log;
error_log /var/log/nginx/nginx.vhost.error.log;
location / {
root  /var/www/mehmetoz.com/html/;
index index.html;
}
} 

Dosyayı kaydedin ve çıkın.

:wq!

Servisi yeniden başlatmadan önce yapılan değişiklerde bir syntax ve konfigürasyon kontrolü gerçekleştirelim.

sudo nginx -t

Cevap olarak Sözdizimi OK döndürülmelidir.

Yapılandırma değişikliklerinizin gerçekleşmesi için NGINX servisinin yeniden başlatılması gerekmektedir. Bunu yapmak için şu komutu çalıştırın.

sudo systemctl restart nginx

Alan adımız dış dünyaya açık olmadığı için, içeride test edeceğim. Bilgisayarımızın alan adını tanıması için, hosts dosyamıza bir kayıt ekleyelim. Aşağıdaki yola gidelim ve hosts dosyasını açalım.

hosts dosyasını masaüstüne alabilir veya notepad ++ gibi bir editör ile yönetici olarak açıp düzenleyebilirsiniz.

C:\Windows\System32\drivers\etc 

Web sunucu ip adresini ve alan adını ekleyiniz.

192.168.168.130 mehmetoz.onkoloji.gov.tr 

Son olarak, alan adımızın çözümlenebildiğini doğrulayalım. 

Sanal Ana Bilgisayarın  yapılandırması başarılıysa, SSL sertifikasının artık sunucunuzda kurulduğunu doğrulayan kilitli bir asma kilit görmelisiniz. 

NOT: Güvenlik için, SSL Sertifikanızın bulunduğu yolun izinlerini kısıtlayınız.

Blog'a Dön