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.
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ı
- 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.
- Nginx klasörü iki dosya içerecektir:
domain_com_integrated.crtsertifika dosyasıdomain_com.keyözel anahtar dosyası
SSL Sertifikasının Kurulumu
- Alınan
domain_com_integrated.crtsertifika dosyasını vedomain_com.keyözel anahtar dosyasını yerel dizinden Nginx sunucusundaki/etc/nginx/ssldizinine kopyalayın.
- Eğer
/etc/nginx/ssldizini mevcut değilse,mkdir -p /etc/nginx/sslkomutu 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.
- Nginx kök dizinindeki
nginx.confdosyasını düzenleyin. Değişiklik içeriği aşağıdaki gibidir:
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;
}
}
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.

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:
- Nginx yönlendirme özelliğini kullanarak, HTTP'nin
serverbölümünereturn 301 https://$host$request_uri;ekleyin; böyleceHTTPistekleriHTTPSadresine yönlendirilir. Aşağıdaki içeriği değiştirin:
server {
listen 80;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
- Yalnızca Nginx sunucusunu yeniden başlatarak alan adıyla erişebilir,
HTTPadresininHTTPSadresine otomatik yönlendirilmesini sağlayabilirsiniz.