Web sitenizin güvenliğini , ziyaretçilerinizin sitenize olan güvenini artırabilir. Web sunucunuzda şifrelemenin(https) ayarlanması, genellikle çoğu kişiye karmaşık ve pahalı gelmiştir. Letsencrypt, bu karmaşıklığı sadeleştirerek bunu değiştirmeyi hedefliyor. Basit, otomatikleştirilmiş komutlarla sertifikaların alınmasına ve yüklenmesine izin veren açık ve ücretsiz bir projedir.
Letsencrypt, IdentTrust tarafından çapraz imzalanan ve son sertifikalarının tüm önemli tarayıcılar tarafından kabul edilmesine izin veren sertifikaları verebilen yeni bir Sertifika Yetkilisidir. Bu kılavuz, certbot istemcisi sürüm 0.11.1’i yükleme adımlarını ve nginx çalıştıran CentOS 7 sunucunuzdaki sertifikaları yönetmek için Nginx’e Letsencrypt ile SSL Kurmak için gerekli adımları özetlemektedir .
certbot kurulumu
1 2 3 |
sudo yum install epel-release sudo yum update sudo yum install certbot |
nginx kurulumu
1 2 |
sudo yum install nginx sudo systemctl start nginx |
güvenlik duvarı yapılandırması
centos üzerinde güvenlik duvarı varsa :
1 2 3 4 |
sudo firewall-cmd --permanent --add-service=http --add-service=https sudo firewall-cmd --reload sudo firewall-cmd --list-services dhcpv6-client http ssh https |
certbot oluştur
1 2 3 |
sudo systemctl stop nginx sudo certbot certonly -d <domain_names> sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048 |
nginx yapılandırmasını güncelle
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
server { listen 80; server_name <domain-name>; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name <domain-name>; ssl_certificate /etc/letsencrypt/live/<domain-name>/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/<domain-name>/privkey.pem; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; ssl_dhparam /etc/ssl/certs/dhparam.pem; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:8080; } } |
nginx servisini başlatma
1 |
sudo systemctl start nginx |
SSL için otomatik yenileme oluştur
letsencryst’i oluşturduğumuz sertifikanın bir süresi var , otomatik yenilemek için yenileme komut dosyası oluştur
1 |
sudo nano /etc/cron.daily/letsencrypt-renew |
yenileme script’in içeriği
1 2 3 4 5 6 |
#!/bin/sh service nginx stop if certbot renew > /var/log/letsencrypt/renew.log 2>&1 ; then nginx -s reload fi exit |
günde 2 kez güncellemeyi başlat
1 2 |
sudo chmod +x /etc/cron.daily/letsencrypt-renew 01 02,14 * * * /etc/cron.daily/letsencrypt-renew |
Manuel yenileme
1 2 |
sudo systemctl stop nginx certbot renew |