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.
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
- 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.
- Apache klasöründe üç dosya bulunur:
domain_com.crtsertifika dosyasıdomain_com.keyözel anahtar dosyasıdomain_com.ca-bundlesertifika zinciri dosyası
SSL Sertifikasını Kurma
- Elde ettiğiniz
domain_com.crtsertifika dosyasını,domain_com.keyözel anahtar dosyasını vedomain_com.ca-bundlesertifika zinciri dosyasını yerel dizinden Apache sunucusunun/etc/apache2/ssldizinine kopyalayın. Açıklama:
/etc/apache2/ssldizini mevcut değilse,mkdir -p /etc/apache2/sslkomutu ile oluşturabilirsiniz- Farklı sürümler arasında farklılıklar olabilir; bazı Apache dizinleri
/etc/httpdolabilir
- Apache yalnızca
sites-enablediç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
/etc/apache2/sites-available/default-ssl.confdosyası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.

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:
- Komut satırında yönlendirme modülünü etkinleştirmek için
a2enmod rewritegirin - Ardından http yapılandırma dosyasını açın; örneğin:
/etc/apache2/sites-available/000-default.confve 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>
- Apache sunucusunu yeniden başlattığınızda alan adı üzerinden erişim sağlanır ve HTTP otomatik olarak HTTPS’e yönlendirilir.