centos lampSSL证书安装
导读:CentOS LAMP 环境 SSL 证书安装与自动续期 一 准备与前置检查 确保域名已解析到服务器,且防火墙/云安全组已放行 TCP 443 端口。 安装并启动 Apache:sudo yum install -y httpd &...
CentOS LAMP 环境 SSL 证书安装与自动续期
一 准备与前置检查
- 确保域名已解析到服务器,且防火墙/云安全组已放行 TCP 443 端口。
- 安装并启动 Apache:
sudo yum install -y httpd & & sudo systemctl enable --now httpd - 安装 SSL 模块:
sudo yum install -y mod_ssl openssl - 如使用自签名或手动证书,建议将证书与私钥放在统一目录,例如:/etc/httpd/ssl/,并设置仅 root 可读:
chmod 600 /etc/httpd/ssl/*.key。
二 方式一 使用 Certbot 自动获取并部署 Let’s Encrypt 证书(推荐)
- 安装 Certbot:
sudo yum install -y certbot python3-certbot-apache - 获取并自动配置 HTTPS(将域名替换为你的实际域名):
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com - 自动续期(证书有效期 90 天):
sudo certbot renew --dry-run(测试无误后使用sudo certbot renew或配置定时任务) - 验证:访问 https://yourdomain.com,浏览器地址栏应显示锁标识。
三 方式二 手动安装已有证书(Apache 配置文件)
- 证书文件说明(以常见云厂商 Apache 包为例):
- .crt / .cer:服务器证书
- .key:私钥
- root_bundle.crt / ca-bundle.crt / chain.crt:中间证书链(不同厂商命名不同)
- 放置证书(示例):
/etc/httpd/ssl/yourdomain.crt、/etc/httpd/ssl/yourdomain.key、/etc/httpd/ssl/root_bundle.crt - 启用模块与配置 VirtualHost(示例):
- 确认启用模块:
LoadModule ssl_module modules/mod_ssl.so(通常位于 /etc/httpd/conf.modules.d/00-ssl.conf) - 在 /etc/httpd/conf.d/ssl.conf 或站点配置中新增 443 虚拟主机:
< VirtualHost *:443> ServerName yourdomain.com DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/httpd/ssl/yourdomain.crt SSLCertificateKeyFile /etc/httpd/ssl/yourdomain.key SSLCertificateChainFile /etc/httpd/ssl/root_bundle.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>
- 确认启用模块:
- 重启生效:
sudo systemctl restart httpd。
四 HTTP 强制跳转 HTTPS 与 WordPress 设置
- 在 80 端口的 VirtualHost 或根配置中启用重写(示例):
如未启用重写模块,先加载:< VirtualHost *:80> ServerName yourdomain.com DocumentRoot /var/www/html RewriteEngine On RewriteCond %{ SERVER_PORT} !^443$ RewriteRule ^(.*)$ https://%{ SERVER_NAME} %{ REQUEST_URI} [L,R] < /VirtualHost>LoadModule rewrite_module modules/mod_rewrite.so(可放在 /etc/httpd/conf.modules.d/00-rewrite.conf)。 - WordPress 固定为 HTTPS:在后台将“站点地址(URL)”与“WordPress 地址(URL)”改为 https://,或在 wp-config.php 顶部加入:
define('FORCE_SSL_ADMIN', true); if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS']='on'; - 若仍提示“连接不安全”,常见原因:证书过期、页面调用了 HTTP 外部资源、证书域名不匹配;需更换有效证书、改为 HTTPS 资源或修正域名。
五 常见问题与排查
- 端口与防火墙:确认云安全组与系统防火墙放行 443;
ss -tlnp | grep :443检查端口监听。 - SELinux:如启用 SELinux,放行端口或证书目录标签:
sudo setsebool -P httpd_can_network_connect 1;必要时sudo restorecon -R /etc/httpd/ssl - 证书链:缺少中间证书会导致部分浏览器报“证书不受信任”,请确保配置 SSLCertificateChainFile。
- 日志定位:
/var/log/httpd/error_log、/var/log/httpd/ssl_error.log可快速定位配置语法或握手失败原因。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos lampSSL证书安装
本文地址: https://pptw.com/jishu/774679.html
