Kapatmak için ESC tuşuna basın

Ubuntu’da Let’s Encrypt ile Nginx SSL Sertifikası Alma

Web güvenliği gün geçtikçe daha da önem kazanıyor ve ziyaretçilerinizi korumanın en etkili yollarından biri de SSL sertifikası kullanmaktır. Bu rehberde, Ubuntu 18.04 üzerinde Nginx web sunucusu için Let’s Encrypt SSL sertifikası nasıl kurulur, adım adım öğrenelim.

Bölüm 1: Hazırlıklar ve Gereksinimler

Bu bölümde, Let’s Encrypt ile Nginx SSL kurulumuna geçmeden önce yapılması gereken hazırlık adımlarını ve sistem gereksinimlerini detaylandıracağız.

Sistem Güncellemesi:

SSL kurulumuna başlamadan önce, Ubuntu sistemimizi güncellemek çok önemlidir. Terminali açın ve şu komutları sırasıyla girin:

Bash
sudo apt update
sudo apt upgrade
Nginx Kurulumu ve Temel Yapılandırma

Nginx’i yüklemek ve temel komutlar hakkında bilgi almak için aşağıdaki yazıyı ziyaret edin

Ubuntu Üzerinde Nginx Kurulumu ve Temel Komutlar
Domain ve DNS Ayarları
  • Let’s Encrypt sertifikasını alabilmek için bir alan adına ve doğru DNS ayarlarına ihtiyacımız var. Alan adınızı bir domain kayıt hizmetinden satın alın ve ardından DNS ayarlarını kontrol edin.
  • DNS yönetim panelinize giriş yapın ve aşağıdaki kayıtları ekleyin:
    • A kaydı: @ veya www için sunucunuzun IP adresi.
    • CNAME kaydı: www için domain adınız (örneğin, www.example.com).
  • Bu ayarlar, Let’s Encrypt’in sertifikayı doğrulayabilmesi için gereklidir.
Firewall Ayarları

Sunucunuzda bir güvenlik duvarı varsa, Nginx için HTTP (80) ve HTTPS (443) portlarını açtığınızdan emin olun:

Bash
sudo ufw allow 'Nginx Full'

Bu adımları dikkatlice takip ederek, Let’s Encrypt ile Nginx SSL kurulumuna başlamadan önce sisteminizin güncel ve doğru bir şekilde hazır olduğundan emin olabilirsiniz.

Bölüm 2: Let’s Encrypt Kurulumu:

Bu bölümde, Let’s Encrypt ile ücretsiz SSL sertifikasını nasıl alacağınızı ve Nginx ile nasıl entegre edeceğinizi adım adım öğreneceğiz.

Certbot’un Yüklenmesi

Let’s Encrypt sertifikası almak için Certbot’u yükleyin:

Bash
sudo apt install certbot
Nginx Konfigürasyonunun Yedeklenmesi

Güvenlik amacıyla Nginx konfigürasyon dosyalarını yedekleyin

Bash
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default_backup
Let’s Encrypt SSL Sertifikası Alma ve Kurma

Certbot’u kullanarak SSL sertifikasını alın ve Nginx ile entegre edin

Bash
sudo certbot --nginx

Bu komut sizi bir arayüze yönlendirecek ve sertifikayı almak için gerekli adımları takip etmenizi sağlayacaktır.

Sertifikanın doğru bir şekilde kurulduğunu test etmek için tarayıcınızda https://www.domainadi.com (kendi alan adınızla değiştirin) adresine gidin. Yeşil kilit simgesini gördüğünüzde, sertifikanın başarıyla yüklendiğinden emin olabilirsiniz.

Otomatik Yenileme Ayarları
Bash
sudo crontab -e

Ardından, aşağıdaki satırı ekleyin:

0 0 * * * /usr/bin/certbot renew --quiet
Sertifika Yenileme Kontrolü

Sertifikanın başarıyla yenilendiğini kontrol etmek için:

Bash
sudo certbot renew --dry-run

Bu komut sertifikayı yenileme simülasyonu yapacak ve herhangi bir hata olup olmadığını kontrol etmenize yardımcı olacaktır.

Bölüm 3: Nginx SSL Konfigürasyonu

Bu bölümde, Let’s Encrypt SSL sertifikasını Nginx konfigürasyonuna nasıl entegre edeceğinizi adım adım öğreneceksiniz.

Nginx SSL Konfigürasyon Dosyalarının Güncellenmesi

SSL sertifikasını entegre etmek için Nginx konfigürasyon dosyasını düzenleyin. Genellikle bu dosya /etc/nginx/sites-available/default veya sitenizin özel konfigürasyon dosyası olabilir.

Bash
sudo nano /etc/nginx/sites-available/default

veya

Bash
sudo nano /etc/nginx/sites-available/your_domain

Dosyanın içinde aşağıdaki gibi SSL ayarlarını ekleyin:

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

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

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384';
    ssl_prefer_server_ciphers off;

    # Diğer SSL ayarları buraya eklenebilir

    location / {
        # Nginx konfigürasyonu devam eder...
    }
}

Bu ayarlar, SSL sertifikasının Nginx ile nasıl kullanılacağını belirtir.

Nginx’in Yeniden Başlatılması ve Konfigürasyon Kontrolü

Yapılan değişiklikleri kaydedin ve Nginx’i yeniden başlatın:

Bash
sudo systemctl restart nginx

Herhangi bir hata olup olmadığını kontrol etmek için Nginx hata günlüklerini kontrol edebilirsiniz:

Bash
sudo tail -f /var/log/nginx/error.log

Hatalar varsa, bu günlükleri inceleyerek sorunları çözebilirsiniz.

Test Etme

Tarayıcınızda https://www.your_domain.com (kendi alan adınızla değiştirin) adresine giderek SSL sertifikasının başarıyla entegre edilip edilmediğini kontrol edin.

HTTP Yönlendirmesi (Opsiyonel)

HTTP isteklerini HTTPS’e yönlendirmek için aşağıdaki gibi bir ek yönlendirme bloğu ekleyebilirsiniz:

server {
    listen 80;
    server_name your_domain.com www.your_domain.com;

    return 301 https://$host$request_uri;
}

Bu, kullanıcıları otomatik olarak HTTPS’e yönlendirecektir.

Sonuç

Bu rehberi takip ederek, Ubuntu 18.04 üzerinde Nginx web sunucusu için Let’s Encrypt SSL sertifikasını başarıyla kurmayı öğrendiniz. Artık ziyaretçileriniz, güvenli ve şifrelenmiş bir bağlantı aracılığıyla websitesinize erişebilecekler.

SSL sertifikası kullanmak, kullanıcı güvenliğini artırmanın yanı sıra arama motorları tarafından da ödüllendirilir. Bu nedenle, websitesi sahipleri için SSL sertifikası kurulumu artık bir standart haline gelmiştir.

Rehberde öğrendiğiniz temel adımların ötesinde, Nginx ve Let’s Encrypt ile ilgili daha fazla özelleştirmeleri ve gelişmiş konfigürasyonları öğrenerek websitesinizin güvenliğini ve performansını daha da artırabilirsiniz.

Unutmayın ki, SSL sertifikası her 90 günde bir yenilenmelidir. Bu nedenle, otomatik yenileme süreçlerini ve güvenlik önlemlerini düzenli olarak gözden geçirmek önemlidir.

Bayram Alaçam

Merhaba, Ben Bayram Bursa'da yaşıyorum. Geniş Bir deneyime sahip olmakla birlikte, özellikle Javascript alanında uzmanlaştım ve bu alandaki tüm detaylarla ilgileniyorum. Mobil uygulama geliştirme konusunda da derin bir ilgi ve yetenek setine sahibim. Backend, veritabanı yönetimi ve DevOps konularında da deneyimliyim ve her projede güvenilir, ölçeklenebilir çözümler sunabilirim.Yeni teknolojileri öğrenmek benim için bir tutku. Hızla değişen teknoloji dünyasında güncel kalmak ve son trendleri takip etmek benim için önemli bir prensiptir

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir