在 CentOS LAMP 上安装 SSL 证书的实用步骤
一 准备与前置检查
httpd -M | grep ssl_module,如未安装:sudo yum install -y mod_ssl)。二 方式一 使用 Let’s Encrypt 自动获取并部署(推荐)
sudo yum install -y certbot python2-certbot-apachesudo dnf install -y certbot python3-certbot-apachesudo certbot --apache -d yourdomain.com -d www.yourdomain.comsudo certbot certonly --apache -d yourdomain.comsudo certbot renew --dry-runecho "0 0,12 * * * root certbot renew --quiet && systemctl reload httpd" | sudo tee -a /etc/crontab三 方式二 手动安装已有证书(适用于云厂商或自签 CA)
LoadModule ssl_module modules/mod_ssl.so<VirtualHost *:443>
ServerName yourdomain.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/cert/server.crt
SSLCertificateKeyFile /etc/ssl/cert/server.key
SSLCertificateChainFile /etc/ssl/cert/ca.crt
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/ssl_error.log
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
</VirtualHost>
cat domain_public.crt domain_chain.crt > domain_fullchain.pemSSLCertificateFile /etc/ssl/cert/domain_fullchain.pem 与 SSLCertificateKeyFile /etc/ssl/cert/domain.keysudo systemctl restart httpd。四 HTTP 强制跳转 HTTPS
<VirtualHost *:80> 内):RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [L,R=301]
五 验证与常见问题
certbot renew --dry-run)。