首页主机资讯centos lamp如何安装SSL证书

centos lamp如何安装SSL证书

时间2025-11-18 12:45:04发布访客分类主机资讯浏览513
导读:CentOS LAMP 环境安装 SSL 证书 一 准备与前置检查 确保已安装 Apache(httpd)、MariaDB/MySQL、PHP,并确认站点可通过 HTTP(端口 80) 正常访问。 开放防火墙端口:放行 80/tcp 与...

CentOS LAMP 环境安装 SSL 证书

一 准备与前置检查

  • 确保已安装 Apache(httpd)MariaDB/MySQLPHP,并确认站点可通过 HTTP(端口 80) 正常访问。
  • 开放防火墙端口:放行 80/tcp443/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 httpdjournalctl -xe 查看具体错误;常见为证书路径错误、权限不足或模块未加载。
  • 续期失败或卡在安装依赖:可改用系统 Python 源或更新 pip 镜像后重试;定期执行 certbot renew --dry-run 验证。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos lamp如何安装SSL证书
本文地址: https://pptw.com/jishu/750022.html
centos lamp如何提高网站速度 centos lamp如何配置邮件服务器

游客 回复需填写必要信息