Ana içeriğe geç

Nginx Sunucusuna SSL Sertifikası Kurulumu

SSL sertifikasını Nginx sunucusuna kurarak Nginx sunucusunun HTTPS güvenli erişimi desteklemesini sağlayabilirsiniz. Bu makalede Nginx sunucusuna SSL sertifikasının nasıl kurulacağı anlatılmaktadır.

Açıklama

Bu belgede Nginx sürümü nginx/1.18.0 örnek olarak alınmıştır. Kurulumdan önce 443 numaralı bağlantı noktasının kullanılmadığını doğrulayın; 443 numaralı bağlantı noktası zaten kullanılıyorsa, sertifikayı kurarken başka bir bağlantı noktası bağlayın.

Sertifikanın Alınması

  1. Sertifikanız sizin için düzenlendikten sonra size sıkıştırılmış (.zip) biçimde bir sertifika dosyası verilecektir. Sıkıştırılmış pakette dört sertifika biçimine karşılık gelen dört klasör bulunur: Tomcat, Nginx, IIS, Apache; Nginx sunucusu için Nginx klasöründeki sertifika kullanılmalıdır.
  2. Nginx klasörü iki dosya içerecektir:
  • domain_com_integrated.crt sertifika dosyası
  • domain_com.key özel anahtar dosyası

SSL Sertifikasının Kurulumu

  1. Alınan domain_com_integrated.crt sertifika dosyasını ve domain_com.key özel anahtar dosyasını yerel dizinden Nginx sunucusundaki /etc/nginx/ssl dizinine kopyalayın.
  • Eğer /etc/nginx/ssl dizini mevcut değilse, mkdir -p /etc/nginx/ssl komutu ile oluşturabilirsiniz
  • Farklı kurulum yöntemleri arasında dizin konumları farklılık gösterebilir, lütfen gerçek duruma göre hareket edin.
  1. Nginx kök dizinindeki nginx.conf dosyasını düzenleyin. Değişiklik içeriği aşağıdaki gibidir:
nginx.conf
server {
listen 443 ssl;
#填写自己的域名,多个域名用空格隔开
server_name racent.com;

#填写证书文件的相对路径或绝对路径
ssl_certificate cloud.tencent.com_bundle.crt;

#填写私钥文件的相对路径或绝对路径
ssl_certificate_key cloud.tencent.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}

Dikkat

Sürüm farklılıkları nedeniyle yapılandırma dosyasında farklı yazım biçimleri bulunabilir. Örneğin: Nginx sürümü nginx/1.15.0 altındaysa lütfen listen 443 ve ssl on yerine listen 443 ssl kullanın.

Değişiklikleri kaydedip yapılandırma dosyasını kaydettikten sonra aşağıdaki komutu çalıştırın:

nginx -t         #验证配置文件是否正确
nginx -s reload #重载 Nginx

SSL Sertifikasını Test Etme

Tarayıcı adres çubuğuna SSL sertifikasının bağlı olduğu alan adını girerek SSL sertifikanızın başarıyla kurulup kurulmadığını test edin. Başarılıysa, tarayıcı adres çubuğunda bir güvenli kilit simgesi görüntülenir; tıkladığınızda sertifika bilgilerini görüntüleyebilirsiniz.

SSL sertifikası efekti

HTTP'den HTTPS'e Otomatik Yönlendirme Güvenlik Yapılandırması (İsteğe Bağlı)

HTTP isteklerinin otomatik olarak HTTPS adresine yönlendirilmesini istiyorsanız, aşağıdaki işlemleri yaparak ayarlayabilirsiniz:

  1. Nginx yönlendirme özelliğini kullanarak, HTTP'nin server bölümüne return 301 https://$host$request_uri; ekleyin; böylece HTTP istekleri HTTPS adresine yönlendirilir. Aşağıdaki içeriği değiştirin:
server {
listen 80;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}

  1. Yalnızca Nginx sunucusunu yeniden başlatarak alan adıyla erişebilir, HTTP adresinin HTTPS adresine otomatik yönlendirilmesini sağlayabilirsiniz.