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

如何在centos lamp上安装SSL证书

时间2025-12-04 15:09:04发布访客分类主机资讯浏览299
导读:在 CentOS LAMP 上安装 SSL 证书的实用步骤 一 准备与前置检查 确保域名已正确解析到服务器公网 IP,且服务器防火墙与安全组已放行 TCP 443 端口,否则即使配置完成也无法启用 HTTPS。如使用云服务器,请在控制台...

在 CentOS LAMP 上安装 SSL 证书的实用步骤


一 准备与前置检查

  • 确保域名已正确解析到服务器公网 IP,且服务器防火墙与安全组已放行 TCP 443 端口,否则即使配置完成也无法启用 HTTPS。如使用云服务器,请在控制台安全组规则中放行 443。
  • 确认 Apache 已安装并可启动,且加载 mod_ssl 模块(执行:httpd -M | grep ssl_module,如未安装:sudo yum install -y mod_ssl)。
  • 准备好证书文件:通常包含服务器证书(如 server.crt / domain.crt)、私钥(server.key / domain.key)和证书链/中间证书(如 ca.crt / chain.crt / root_bundle.crt)。如使用云厂商下载,请选择 Apache 格式压缩包。

二 方式一 使用 Let’s Encrypt 自动获取并部署(推荐)

  • 安装 Certbot 与 Apache 插件(CentOS 7/8 常见命令):
    • CentOS 7:sudo yum install -y certbot python2-certbot-apache
    • CentOS 8+:sudo dnf install -y certbot python3-certbot-apache
  • 获取并自动配置证书(将域名替换为你的实际域名):
    • 交互式:sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
    • 如站点暂不支持自动修改配置,可先仅获取证书:sudo certbot certonly --apache -d yourdomain.com
  • 证书默认路径为:/etc/letsencrypt/live/yourdomain.com/,常用文件:
    • 证书链:fullchain.pem
    • 私钥:privkey.pem
  • 设置自动续期(证书有效期 90 天):
    • 测试续期:sudo certbot renew --dry-run
    • 生产环境建议添加定时任务(例如每日检查):echo "0 0,12 * * * root certbot renew --quiet & & systemctl reload httpd" | sudo tee -a /etc/crontab
  • 完成后用浏览器访问 https://yourdomain.com 验证锁标识。

三 方式二 手动安装已有证书(适用于云厂商或自签 CA)

  • 上传证书到服务器安全目录(示例:/etc/ssl/cert/),目录权限建议 600/644(私钥仅 root 可读):
    • 常见文件名:server.crt / domain.crt、server.key / domain.key、ca.crt / chain.crt / root_bundle.crt
  • 启用 SSL 模块并编辑 /etc/httpd/conf.d/ssl.conf(或同级配置):
    • 确认模块加载: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>
          
      
  • 如 Apache 版本 ≥ 2.4.8,也可采用合并证书方式(减少文件数量):
    • 合并命令:cat domain_public.crt domain_chain.crt > domain_fullchain.pem
    • 配置:SSLCertificateFile /etc/ssl/cert/domain_fullchain.pemSSLCertificateKeyFile /etc/ssl/cert/domain.key
  • 保存后重启 httpdsudo systemctl restart httpd

四 HTTP 强制跳转 HTTPS

  • 基于 mod_rewrite80 端口虚拟主机或根配置中启用跳转(放在对应 < VirtualHost *:80> 内):
    RewriteEngine On
    RewriteCond %{
    SERVER_PORT}
     !^443$
    RewriteRule ^(.*)$ https://%{
    SERVER_NAME}
        /$1 [L,R=301]
    
  • 若使用 Certbot 安装,通常会自动写入跳转规则;如手动管理,请确保启用 mod_rewrite 模块并正确放置规则。

五 验证与常见问题

  • 访问测试:打开 https://yourdomain.com,确认地址栏显示锁标识;可用 SSL Labs 等工具做配置评分与链路检查。
  • 证书续期:Let’s Encrypt 证书 90 天 有效,务必配置自动续期并定期测试(如 certbot renew --dry-run)。
  • 常见故障排查:
    • 无法访问 443:检查云安全组/系统防火墙、云厂商控制台安全策略是否放行 443
    • 浏览器提示证书不受信任:确认证书链(中间证书)配置正确,使用 fullchain 或将链文件正确引入。
    • 私钥不匹配或权限错误:确保 server.key 与证书匹配,文件权限为 600(私钥)。

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


若转载请注明出处: 如何在centos lamp上安装SSL证书
本文地址: https://pptw.com/jishu/763581.html
如何在centos lamp上进行版本升级 centos lamp如何备份数据库

游客 回复需填写必要信息