Centos Nginx SSL HTTPS Kurulumu
Bu yazıda apache web sunucudan sonra en çok tercih edilen sunucu olan nginx için centos sunucu üzerinde ssl kurulumu yapacağız.
İlk önce yüklü değilse eyer open ssl kütüphanesinin kurulumunu yapalım.
sudo yum install openssl openssl-devel
ssl dosyalarımızı barındıracak klasörümüzü yaratalım
sudo mkdir /etc/nginx/ssl cd /etc/nginx/ssl
SSL için key (anahtar) dosyamızı oluşturalım birden çok site barındırıyorsanız her dosyada domain isimlerini yazarsanız karışıklığın önüne geçebilirsiniz. (ör: hurriyet.com.key)
sudo openssl genrsa -out hurriyet.com.key 2048
Bir önceki adımda oluşturduğumuz anahtar ile CSR (Certificate signing request) dosyamızı yaratalım (ör: hurriyet.com.csr)
sudo openssl req -new -sha256 -key hurriyet.com.key -out hurriyet.com.csr
Dosyayı oluştururken sorulan sorulara doğru cevaplar vermeniz gerekiyor Özellikle Common Name sorusunda yazdığınız adres ssl sertifikasını kullanacağınız adres olmalı www.hurriyet.com alan adı için kullanacaksanız alan adını www ile birlikte yazmalısınız veyahut bir subdomain için kullanacaksanız öre moda.hurriyet.com yazmalısınız. Ekstra bilgiler kısmı boş geçebilirsiniz.
Country Name (2 letter code) [XX]: TR State or Province Name (full name) []: Turkey Locality Name (eg, city) [Default City]: Istanbul Organization Name (eg, company) [Default Company Ltd]: hurriyet.com Organizational Unit Name (eg, section) []: IT Common Name (eg, your name or your server's hostname) []: www.hurriyet.com Email Address []:[email protected] Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: boş An optional company name []: boş
oluşturduğunuz CSR dosyası ile bir ssl kuruluşundan satın aldığınız ssl işlemi sonucunda şirket size CRT (Certificate) dosyası gönderecektir şirketler genelde bu dosyayı talep ettiğiniz domain adresinin admin e-posta adresine gönderecektir yani yukarıdaki işlem sonucu crt dosyası [email protected] adresine gönderilecektir bu sebeple bu adresin açık ve kullanılır olduğundan emin olun.
gelen CRT dosyasını da yarattığınız /etc/nginx/ssl klasörünün altına kaydedin (ör: hurriyet.com.crt). Artık tek yapmamız gereken nginx sunucu üzerinde ssl sertifikasını aktif etmek
Server bloğunu tanımladığınız dosyayı açın ve blokun içine ssl dosyalarının yolunu gösteren satırları ekleyin. Ayrıca ssl/https portunu da dinlemesini söyleyin işte bu kadar
sudo nano /etc/nginx/conf.d/hurriyet.com.conf
server { listen 80; listen 443 ssl; server_name www.buparti.com; ssl_certificate /etc/nginx/ssl/hurriyet.com.crt; ssl_certificate_key /etc/nginx/ssl/hurriyet.com.key; ..... ..... ..... }
yaptığınız değişikliklerin etkin olabilmesi için nginx sunucuyu yeniden başlatmayı unutmayın.
sudo service nginx restart

