27.6. 在 Apache HTTP 服务器中添加 TLS 加密


您可以在 example.com 域的 Apache HTTP 服务器上启用 TLS 加密。

先决条件

  • Apache HTTP 服务器已安装并运行。
  • 私钥存储在 /etc/pki/tls/private/example.com.key 文件中。

    有关创建私钥和证书签名请求(CSR)的详细信息,以及如何从证书颁发机构(CA)请求证书,请参阅您的 CA 文档。

  • TLS 证书存储在 /etc/pki/tls/certs/example.com.crt 文件中。如果您使用其他路径,请调整该流程的对应步骤。
  • CA 证书存储在 /etc/pki/tls/certs/ca.crt 文件中。如果您使用其他路径,请调整该流程的对应步骤。
  • 客户端和网页服务器会将服务器的主机名解析为 web 服务器的 IP 地址。
  • 如果服务器运行 RHEL 9.2 或更高版本,并且启用了 FIPS 模式,则客户端必须支持 Extended Master Secret(EMS)扩展或使用 TLS 1.3。没有 EMS 的 TLS 1.2 连接会失败。如需更多信息,请参阅红帽知识库解决方案 强制实施 TLS 扩展"Extended Master Secret"

流程

  1. 安装 mod_ssl 软件包:

    # dnf install mod_ssl
    Copy to Clipboard
  2. 编辑/etc/httpd/conf.d/ssl.conf文件,并将以下设置添加到 <VirtualHost _default_:443>指令中:

    1. 设置服务器名称:

      ServerName example.com
      Copy to Clipboard

      服务器名称必须与证书的 Common Name字段中设置的条目匹配。

    2. 可选: 如果证书在 Subject Alt Names (SAN)字段中包含额外的主机名,您可以配置 mod_ssl 来为这些主机名提供 TLS 加密。要配置此功能,请添加具有对应名称的ServerAliases参数:

      ServerAlias www.example.com server.example.com
      Copy to Clipboard
    3. 设置到私钥、服务器证书和 CA 证书的路径:

      SSLCertificateKeyFile "/etc/pki/tls/private/example.com.key"
      SSLCertificateFile "/etc/pki/tls/certs/example.com.crt"
      SSLCACertificateFile "/etc/pki/tls/certs/ca.crt"
      Copy to Clipboard
  3. 出于安全考虑,配置成只有 root 用户才可以访问私钥文件:

    # chown root:root /etc/pki/tls/private/example.com.key
    # chmod 600 /etc/pki/tls/private/example.com.key
    Copy to Clipboard
    警告

    如果私钥被设置为可以被未授权的用户访问,则需要撤销证书,然后再创建一个新私钥并请求一个新证书。否则,TLS 连接就不再安全。

验证

  • 使用浏览器连接到 https://example.com
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat