Ana içeriğe geç

Apache2 Sunucusuna SSL Sertifikası Kurulumu

SSL sertifikasını Apache sunucusuna kurarak Apache sunucusunun HTTPS güvenli erişimi desteklemesini sağlayabilirsiniz. Bu makalede Apache sunucusuna SSL sertifikasının nasıl kurulacağı anlatılmaktadır.

Açıklama

Bu belgede Apache sürümü Apache/2.4.58(ubuntu) örnek olarak alınmıştır. Kurulumdan önce 443 numaralı bağlantı noktasının kullanılmadığını doğrulayın; 443 numaralı bağlantı noktası zaten kullanılıyorsa, sertifikayı kurarken başka bir bağlantı noktası bağlayın.

Sertifikayı Edinme

  1. Sertifika imzalandıktan sonra size (.zip) sıkıştırılmış biçimde bir sertifika dosyası verilecektir. Sıkıştırılmış pakette dört sertifika biçimine karşılık gelen dört klasör bulunur: Tomcat, Nginx, IIS, Apache; Apache sunucusu için Apache klasöründeki sertifikanın kullanılması gerekir.
  2. Apache klasöründe üç dosya bulunur:
  • domain_com.crt sertifika dosyası
  • domain_com.key özel anahtar dosyası
  • domain_com.ca-bundle sertifika zinciri dosyası

SSL Sertifikasını Kurma

  1. Elde ettiğiniz domain_com.crt sertifika dosyasını, domain_com.key özel anahtar dosyasını ve domain_com.ca-bundle sertifika zinciri dosyasını yerel dizinden Apache sunucusunun /etc/apache2/ssl dizinine kopyalayın. Açıklama:
  • /etc/apache2/ssl dizini mevcut değilse, mkdir -p /etc/apache2/ssl komutu ile oluşturabilirsiniz
  • Farklı sürümler arasında farklılıklar olabilir; bazı Apache dizinleri /etc/httpd olabilir
  1. Apache yalnızca sites-enabled içindeki yapılandırma dosyalarını okuduğu için bir sembolik bağlantı oluşturmanız gerekir
ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf
  1. /etc/apache2/sites-available/default-ssl.conf dosyasını düzenleyin ve aşağıdaki içerikleri değiştirin:
<VirtualHost *:443>
DocumentRoot /var/www/html
#启用 SSL 功能
SSLEngine on
#证书文件的路径
SSLCertificateFile /etc/apache2/ssl/domain_com.crt
#私钥文件的路径
SSLCertificateKeyFile /etc/apache2/ssl/domain_com.key
#证书链文件的路径
SSLCertificateChainFile /etc/apache2/ssl/domain_com.ca-bundle
</VirtualHost>

Değişiklikleri yaptıktan sonra yapılandırma dosyasını kaydedin ve aşağıdaki komutu çalıştırın:

a2enmod ssl       #加载ssl模块,如果是替换证书可以忽略
apache2ctl configtest #检测配置文件是否报错
apache2ctl restart #重启Apache使配置生效

SSL Sertifikasını Test Etme

Tarayıcı adres çubuğuna SSL sertifikasının bağlı olduğu alan adını girerek SSL sertifikanızın başarıyla kurulup kurulmadığını test edin. Başarılıysa, tarayıcı adres çubuğunda bir güvenli kilit simgesi görünür; tıklayarak sertifika bilgilerini görüntüleyebilirsiniz.

SSL sertifika sonucu

HTTP'den HTTPS'e Otomatik Yönlendirme için Güvenlik Yapılandırması (İsteğe Bağlı)

HTTP isteklerinin otomatik olarak HTTPS'e yönlendirilmesini istiyorsanız, aşağıdaki adımlarla yapılandırabilirsiniz:

  1. Komut satırında yönlendirme modülünü etkinleştirmek için a2enmod rewrite girin
  2. Ardından http yapılandırma dosyasını açın; örneğin: /etc/apache2/sites-available/000-default.conf ve yapılandırma dosyasına aşağıdaki içeriği ekleyin:
<VirtualHost *:80>
# 新增
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost>
  1. Apache sunucusunu yeniden başlattığınızda alan adı üzerinden erişim sağlanır ve HTTP otomatik olarak HTTPS’e yönlendirilir.