Bugün ücretsiz SSL sertifikası veren başka bir sertifika yetkilisini tanıtacağız: ZeroSSL.
ZeroSSL Özellikleri
- 90 günlük sertifikalar ve 1 yıllık sertifikalar sunar.
- çoklu etki alanı sertifikaları ve joker karakter sertifikaları.
- ACME desteği. Özel ACME Botu (ZeroSSL Bot), 90 günlük sertifikaları otomatik ve tamamen ücretsiz olarak almanıza ve yenilemenize olanak tanır.
- Üçüncü taraf ACME istemcilerini destekler
- Oran sınırı yok
- SSL izleme
- REST API
- E-posta, CNAME veya dosya yükleme yoluyla alan adı doğrulaması
Dürüst olmak gerekirse bu özelliklerin birçoğu premium plan gerektiriyor. Şimdi ZeroSSL sertifikasını Ubuntu sunucusuna nasıl kurabileceğinizi öğrenelim.
Adım 1: ZeroSSL Hesabı Oluşturun
ZeroSSL resmi web sitesine gidin ve Ücretsiz SSL Alın düğmesini tıklayın.
Ücretsiz plan için kaydolun.
Daha sonra Yeni Sertifika butonuna tıklayın.
Alan adınızı girin ve Sonraki Adım butonuna tıklayın.
Daha sonra sertifika geçerlilik süresini seçin. 90 günlük sertifika ücretsizdir, bu yüzden onu seçtik.
Bundan sonra bir CSR (sertifika imzalama talebi) oluşturacaktır.
Son olarak ücretsiz planı seçin.
SSL sertifikası oluşturulduktan sonra alan adınızı doğrulamanız gerekir. ZeroSSL, e-posta doğrulamasını, DNS (CNAME) doğrulamasını ve HTTP dosya yükleme doğrulamasını destekler.
Alan adı doğrulandıktan sonra sertifikayı indirebilirsiniz.
Adım 2: Ubuntu Sunucusuna ZeroSSL Sertifikasını yükleme
Sıkıştırılmış sertifika dosyasını sunucunuza yükleyin. Daha sonra zip dosyasını açın.
unzip your-domain.com.zip
3 dosya olacak:
- ca_bundle.crt
- certificate.crt
- private.key
İki .crt dosyasını tek bir dosyada birleştirmemiz gerekiyor.
cat certificate.crt ca_bundle.crt >> zerossl_certificate.crt
Bu dosyaları depolamak için bir dizin oluşturun.
sudo mkdir /etc/ssl/your-domain.com
Bunları bu dizine taşıyın.
sudo mv zerossl_certificate.crt private.key /etc/ssl/your-domain.com/
Dosya iznini yalnızca kök kullanıcının okuyabileceği şekilde değiştirin.
sudo chown root:root /etc/ssl/your-domain.com/* sudo chmod 660 /etc/ssl/your-domain.com/*
Şimdi sertifikayı yükleyelim.
Apache Web Sunucusu
Öncelikle sanal ana bilgisayar dosyanızı düzenleyin.
sudo nano /etc/apache2/sites-available/your-domain.com.conf
</VirtualHost>’un üstüne aşağıdaki satırları ekleyin.
RewriteEngine on RewriteCond %{SERVER_NAME} =your-domain.com RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
3 satır Apache’ye ziyaretçileri her zaman sitenizin HTTPS sürümüne yönlendirmesini söyler. Dosyayı kaydedip kapatın. Ardından sitenizin HTTPS sürümü için virtual host dosyası oluşturun.
sudo nano /etc/apache2/sites-available/your-domain.com-https.conf
Aşağıdaki satırları dosyaya ekleyin.
<IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/your-domain/ ServerName your-domain.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLCertificateFile /etc/ssl/your-domain.com/zerossl_certificate.crt SSLCertificateKeyFile /etc/ssl/your-domain.com/private.key Include /etc/letsencrypt/options-ssl-apache.conf </VirtualHost> </IfModule>
Dosyayı kaydedip kapatın. Ardından sitenizin HTTPS sürümünü etkinleştirin.
sudo a2ensite your-domain.com-https.conf
Ve Apache’yi yeniden yükleyin.
sudo systemctl reload apache2
Şimdi tarayıcınızda sitenizi ziyaret ettiğinizde yeşil bir kilit göreceksiniz.
Nginx Web Server
Nginx sunucu blok dosyanızı açın.
sudo nano /etc/nginx/confi.d/your-domain.com.conf
Dosyayı aşağıdaki gibi düzenleyin.
server { listen 80; server_name your-domain.com; return 301 https:$server_name$request_uri; } server { listen 443 ssl http2; server_name your-domain.com; root /var/www/your-domain/; ssl_certificate /etc/ssl/your-domain.com/zerossl_certificate.crt; ssl_certificate_key /etc/ssl/your-domain.com/private.key; ssl_session_timeout 1d; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305; ssl_prefer_server_ciphers off; # HSTS (ngx_http_headers_module is required) (63072000 seconds) add_header Strict-Transport-Security "max-age=63072000" always; # OCSP stapling ssl_stapling on; ssl_stapling_verify on; ... Your custom directives goes here. ... }
Dosyayı kaydedip kapatın. Ardından Nginx yapılandırmalarını test edin ve yeniden yükleyin.
sudo nginx -t sudo systemctl reload nginx
Yazının orijinalini buradan okuyabilirsiniz.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.