首页主机资讯centos lampSSL证书安装

centos lampSSL证书安装

时间2025-12-18 02:48:03发布访客分类主机资讯浏览257
导读:CentOS LAMP 环境 SSL 证书安装与自动续期 一 准备与前置检查 确保域名已解析到服务器,且防火墙/云安全组已放行 TCP 443 端口。 安装并启动 Apache:sudo yum install -y httpd &...

CentOS LAMP 环境 SSL 证书安装与自动续期

一 准备与前置检查

  • 确保域名已解析到服务器,且防火墙/云安全组已放行 TCP 443 端口。
  • 安装并启动 Apachesudo 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 资源或修正域名。

五 常见问题与排查

  • 端口与防火墙:确认云安全组与系统防火墙放行 443ss -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
centos lnmp如何优化PHP centos lnmp更新升级步骤

游客 回复需填写必要信息