在CentOS系统上配置Apache以使用SSL证书的步骤如下:
安装Apache和SSL模块
sudo yum install httpd mod_ssl
启用SSL模块
sudo systemctl enable httpd
sudo systemctl start httpd
sudo systemctl enable ssl
sudo systemctl start ssl
获取SSL证书
使用Let’s Encrypt:
sudo yum install certbot python2-certbot-apache
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
按照提示完成证书的获取和配置。
使用自签名证书:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/yourdomain.com.key -out /etc/pki/tls/certs/yourdomain.com.crt
配置Apache以使用SSL
编辑Apache的SSL配置文件 /etc/httpd/conf.d/ssl.conf 或 /etc/httpd/conf.modules.d/00-ssl.conf。
sudo vi /etc/httpd/conf.d/ssl.conf
找到并修改以下部分:
VirtualHost _default_:443
ServerAdmin webmaster@yourdomain.com
DocumentRoot "/var/www/html"
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/yourdomain.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/yourdomain.com.key
Directory "/var/www/html"
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
ErrorLog "/var/log/httpd/error_log"
CustomLog "/var/log/httpd/access_log" combined
确保路径和文件名正确无误。
重启Apache
保存并关闭文件后,重启Apache以应用更改。
sudo systemctl restart httpd
验证SSL配置
打开浏览器并访问 https://yourdomain.com,你应该能够看到你的网站,并且浏览器地址栏会显示安全锁图标。
HSTS(HTTP Strict Transport Security):为了提高安全性,可以启用HSTS。
VirtualHost _default_:443
# 其他配置...
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
重定向HTTP到HTTPS:确保所有HTTP请求都重定向到HTTPS。
VirtualHost *:80
ServerName yourdomain.com
Redirect permanent / https://yourdomain.com/