centos lamp如何安装SSL证书
导读:CentOS LAMP 环境安装 SSL 证书 一 准备与前置检查 确保已安装 Apache(httpd)、MariaDB/MySQL、PHP,并确认站点可通过 HTTP(端口 80) 正常访问。 开放防火墙端口:放行 80/tcp 与...
CentOS LAMP 环境安装 SSL 证书
一 准备与前置检查
- 确保已安装 Apache(httpd)、MariaDB/MySQL、PHP,并确认站点可通过 HTTP(端口 80) 正常访问。
- 开放防火墙端口:放行 80/tcp 与 443/tcp(firewalld 示例:firewall-cmd --permanent --add-service=http --add-service=https & & firewall-cmd --reload)。
- 域名解析已指向服务器公网 IP,且验证文件或握手可达(如 /.well-known/acme-challenge/ 可被访问)。
二 方式一 使用 Certbot 自动获取并部署(推荐)
- 安装 Certbot 与 Apache 插件(CentOS 7/8 常见仓库):
- sudo yum install -y certbot python3-certbot-apache
- 获取并自动配置 HTTPS(将域名替换为你的实际域名):
- sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
- 过程中可选择是否将 HTTP 自动 301 重定向到 HTTPS。
- 验证与续期:
- 访问 https://yourdomain.com 检查锁标识与证书信息。
- 查看证书到期:sudo certbot certificates
- 测试自动续期:sudo certbot renew --dry-run
- 设置定时续期(证书有效期 90 天):
- 编辑定时任务:sudo crontab -e
- 示例(每天 2:30 检查并在需要时续期):30 2 * * * /usr/bin/certbot renew --quiet & & systemctl reload httpd
- 说明:Certbot 会自动修改 Apache 虚拟主机配置,启用 443 并配置证书路径与重定向。
三 方式二 手动部署已有证书(适用于云厂商或自签证书)
- 准备证书文件(以 Apache 包为例,通常包含):
- 域名证书:yourdomain.crt
- 私钥:yourdomain.key
- 证书链(中间证书/根证书包):ca-bundle.crt / root_bundle.crt
- 上传证书到服务器(示例目录):
- sudo mkdir -p /etc/httpd/ssl
- 将证书文件上传至 /etc/httpd/ssl/(可使用 scp/sftp)
- 启用 SSL 模块与配置虚拟主机:
- 安装模块:sudo yum install -y mod_ssl
- 编辑或新增虚拟主机配置(/etc/httpd/conf.d/yourdomain-ssl.conf):
< VirtualHost *:443> ServerName yourdomain.com ServerAlias www.yourdomain.com DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/httpd/ssl/yourdomain.crt SSLCertificateKeyFile /etc/httpd/ssl/yourdomain.key SSLCertificateChainFile /etc/httpd/ssl/ca-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> - 可选:将 HTTP 强制跳转至 HTTPS(在端口 80 的 VirtualHost 中):
< VirtualHost *:80> ServerName yourdomain.com ServerAlias www.yourdomain.com Redirect permanent / https://yourdomain.com/ < /VirtualHost>
- 使配置生效:
- 语法检查:sudo httpd -t
- 重启服务:sudo systemctl restart httpd
- 访问 https://yourdomain.com 验证
四 常见问题与排查
- 证书验证失败或卡在验证:确保域名可直达服务器且 80 端口未被占用;如使用 CDN/反向代理,先临时回源或关闭 CDN 验证。
- HTTP 正常但 HTTPS 访问 403 Forbidden:Apache 2.4+ 需在 Directory 段加入 Require all granted。
- Apache 启动失败:执行 systemctl status httpd 与 journalctl -xe 查看具体错误;常见为证书路径错误、权限不足或模块未加载。
- 续期失败或卡在安装依赖:可改用系统 Python 源或更新 pip 镜像后重试;定期执行 certbot renew --dry-run 验证。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos lamp如何安装SSL证书
本文地址: https://pptw.com/jishu/750022.html
