Header Menu

CentOS’ta Nginx Üzerine SSL Sertifikası Kurulumu resim

CentOS’ta Nginx Üzerine SSL Sertifikası Kurulumu

CentOS'ta Nginx üzerinde SSL sertifikası kurmak için aşağıdaki adımları takip edebilirsiniz:

1. Gerekli Paketlerin Yüklenmesi

Öncelikle Nginx'in yüklü ve çalışır durumda olduğundan emin olun. Ayrıca, SSL için gerekli olan mod_ssl paketini de yüklemeniz gerekebilir.

sudo yum install epel-release -y
sudo yum install nginx mod_ssl -y

2. SSL Sertifikası ve Anahtarını Temin Etme

Bir SSL sertifikası almanız gerekir. Sertifikayı satın alabileceğiniz bir sağlayıcıdan temin edebilir veya Let's Encrypt gibi ücretsiz bir sertifika kullanabilirsiniz. Burada örnek olarak Let's Encrypt kullanacağız.

Let's Encrypt sertifikası almak için certbot aracı kullanılabilir:

sudo yum install certbot python3-certbot-nginx -y

3. SSL Sertifikası Almak

Let's Encrypt ile otomatik olarak SSL sertifikası almak için aşağıdaki komutu kullanabilirsiniz:

sudo certbot --nginx

Bu komut, Nginx konfigürasyon dosyalarınızı tarar ve SSL sertifikasını otomatik olarak kurar. Sertifika almak için bazı bilgiler istenecek, bunlar genellikle e-posta adresi ve domain adı olacaktır.

Eğer sertifika başarılı bir şekilde alındıysa, sertifika dosyaları /etc/letsencrypt/live/ dizininde saklanacaktır.

4. Nginx Konfigürasyonunu Güncelleme

Nginx yapılandırma dosyasını SSL'i destekleyecek şekilde güncellemeniz gerekiyor. Sertifika dosyaları ve anahtarları genellikle şu dizinlerde bulunur:

  • Sertifika dosyası: /etc/letsencrypt/live/yourdomain.com/fullchain.pem
  • Anahtar dosyası: /etc/letsencrypt/live/yourdomain.com/privkey.pem

/etc/nginx/nginx.conf veya /etc/nginx/conf.d/default.conf dosyasını düzenleyin.

Aşağıdaki satırları sunucu bloğunuzda uygun yere ekleyin veya değiştirin:

server {
    listen 443 ssl;
    server_name yourdomain.com www.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'HIGH:!aNULL:!MD5';
    ssl_prefer_server_ciphers on;

    # Diğer Nginx yapılandırma ayarları
    location / {
        # Web root ayarları
    }
}

# HTTP üzerinden gelen talepleri HTTPS'ye yönlendirme
server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    return 301 https://$server_name$request_uri;
}

Burada önemli olan, SSL sertifikalarının doğru yollarla belirtildiğinden emin olmaktır. Ayrıca, HTTP (port 80) üzerinden gelen tüm taleplerin HTTPS (port 443) üzerinden yönlendirilmesi sağlanmalıdır.

5. Nginx’i Yeniden Başlatma

Yapılandırma dosyasındaki değişikliklerin geçerli olması için Nginx'i yeniden başlatmalısınız:

sudo systemctl restart nginx

6. SSL Sertifikasını Test Etme

Sertifikanın düzgün çalışıp çalışmadığını test etmek için tarayıcınızda sitenizi ziyaret edin. URL'nin başında https:// olduğundan ve tarayıcıda yeşil bir kilit simgesi bulunduğundan emin olun.

Alternatif olarak, sslchecker.com gibi çevrimiçi araçlarla sertifikanızın geçerliliğini kontrol edebilirsiniz.

7. SSL Sertifikasını Otomatik Yenileme

Let's Encrypt sertifikaları 90 gün süreyle geçerlidir. Otomatik olarak yenilenmesi için crontab kullanabilirsiniz.

Crontab dosyasını düzenleyin:

sudo crontab -e

Ve aşağıdaki satırı ekleyin:

0 12 * * * certbot renew --quiet && systemctl reload nginx

Bu komut her gün saat 12:00'de sertifikanın yenilenip yenilenmediğini kontrol eder ve yenilenmişse Nginx'i yeniden yükler.


Bu adımları takip ederek CentOS üzerinde Nginx için SSL sertifikasını başarıyla kurabilirsiniz.

19 Görüntüleme