在CentOS上配置Apache2以使用SSL證書,您需要遵循以下步驟:
安裝EPEL和mod_ssl包: 首先,您需要安裝EPEL(Extra Packages for Enterprise Linux)存儲庫和mod_ssl模塊,這是Apache用來支持SSL的模塊。運行以下命令來安裝它們:
sudo yum install epel-release
sudo yum install mod_ssl
創建SSL證書和私鑰: 您需要一個SSL證書和相應的私鑰。您可以使用自簽名證書進行測試,但在生產環境中,您應該從受信任的證書頒發機構(CA)獲取證書。要創建自簽名證書,可以使用OpenSSL工具:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/apache-selfsigned.key -out /etc/pki/tls/certs/apache-selfsigned.crt
這將生成一個名為apache-selfsigned.key
的私鑰文件和一個名為apache-selfsigned.crt
的證書文件。
創建SSL配置文件:
在/etc/httpd/conf.d/
目錄下創建一個名為ssl.conf
的新文件,并將以下內容粘貼到文件中:
<VirtualHost *:443>
ServerName yourdomain.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/pki/tls/private/apache-selfsigned.key
SSLCertificateChainFile /etc/pki/tls/certs/ca-bundle.crt
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
請確保將yourdomain.com
替換為您的域名,并將DocumentRoot
指令設置為您的網站文檔根目錄。如果您使用的是自簽名證書,還需要添加SSLCertificateChainFile
指令,指向一個包含CA證書的ca-bundle.crt
文件。您可以從證書頒發機構獲取此文件,或者使用以下命令生成一個包含常見CA證書的ca-bundle.crt
文件:
sudo c_rehash /etc/pki/tls/certs/
啟用SSL模塊并重啟Apache:
編輯/etc/httpd/conf/httpd.conf
文件,找到以下行并取消注釋以啟用SSL模塊:
#LoadModule ssl_module modules/mod_ssl.so
然后,重啟Apache以應用更改:
sudo systemctl restart httpd
現在,您的CentOS Apache2服務器應已配置為使用SSL證書進行HTTPS連接。請注意,由于我們使用的是自簽名證書,瀏覽器可能會警告您證書不受信任。在生產環境中,您應該使用由受信任CA簽發的證書。