温馨提示×

CentOS Apache SSL证书安装

小樊
35
2025-12-17 13:11:56
栏目: 云计算

CentOS 上 Apache 安装与配置 SSL 证书

一 准备与前置检查

  • 准备证书文件:从证书提供方下载 Apache 格式包,通常包含:域名.crt(服务器证书)root_bundle.crt/chain.crt(证书链/中间证书)域名.key(私钥);CSR 文件仅申请时使用,部署可忽略。将文件上传至服务器,推荐目录:/etc/httpd/ssl/(如目录不存在执行:mkdir -p /etc/httpd/ssl)。
  • 启用模块与加载配置:确认已安装并启用 mod_ssl。检查 /etc/httpd/conf/httpd.confInclude conf.modules.d/*.conf 未被注释;在 /etc/httpd/conf.modules.d/00-ssl.conf 中确保 LoadModule ssl_module modules/mod_ssl.so 未被注释;若缺失模块,执行:yum install -y mod_ssl
  • 开放访问:在云厂商安全组与系统防火墙放行 TCP 443;本机检测示例:ss -tlnp | grep ':443',或 nc -w 3 -vz <公网IP> 443 应提示连接成功。

二 安装步骤(国际标准证书)

  1. 编辑 SSL 配置文件:打开 /etc/httpd/conf.d/ssl.conf,在 <VirtualHost *:443> 中设置:
    • ServerName your.domain:443
    • SSLCertificateFile /etc/httpd/ssl/your.domain.crt
    • SSLCertificateKeyFile /etc/httpd/ssl/your.domain.key
    • SSLCertificateChainFile /etc/httpd/ssl/root_bundle.crt(部分发行版使用 SSLCertificateChainFile,若配置项不存在可省略或合并到证书链中)
  2. 保存并退出,检查语法:httpd -t;无误后重启服务:systemctl restart httpd(或 service httpd restart)。
  3. 访问验证:打开浏览器访问 https://your.domain,确认证书链完整、域名匹配、证书未过期。

三 常见问题与排查

  • 端口与连通性:若无法访问,优先复核 安全组/防火墙 443/TCP 是否放行,并使用 ss/nc 验证本机与公网连通性。
  • 模块未加载:若启动失败或 HTTPS 未生效,检查 mod_ssl 是否安装、httpd.confconf.modules.d/*.conf 的包含与加载指令是否生效。
  • 证书链不完整:浏览器报“证书不受信任/链不完整”,请确保 root_bundle.crt/chain.crt 正确配置并与服务器证书匹配。
  • 配置语法错误:每次修改后先执行 httpd -t,修正后再重启,避免服务中断。

四 HTTP 强制跳转 HTTPS

  • 基于 rewrite 的规则示例(在 /etc/httpd/conf/httpd.conf<Directory> 内或对应虚拟主机中添加):
    RewriteEngine On
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [L,R]
    
  • 保存后重启 Apache:systemctl restart httpd,访问 http:// 将自动跳转 https://

五 国密 SM2 证书补充

  • 环境要求与版本建议:国密证书当前仅支持 Linux 上的 Apache,建议 Apache 2.4.462.4.62;需编译支持 GMSSL/国密 的 Apache 与相关模块。
  • 基本流程:安装编译工具(如 gcc/g++),编译 APR(示例版本 1.7.5),获取并部署国密证书文件,按需修改 httpd-ssl.conf 中的证书与端口配置,最后重启服务并验证。
  • 提示:国密双证书(签名证书与加密证书)与标准 SSL 配置项存在差异,具体以证书提供方与模块文档为准。

0