搜索

1.2. Apache HTTP 服务器中的显著变化

download PDF

Apache HTTP 服务器 已从 RHEL 7 中的 2.4.6 版本更新至 RHEL 8 中的 2.4.37 版本。这个版本包括了几个新功能,但在外部模块的配置和应用程序二进制接口(ABI)级别上保持与 RHEL 7 版本的向后兼容性。

新特性包括:

  • HTTP/2 支持现在由 mod_http2 软件包提供,这是 httpd 模块的一部分。
  • 支持 systemd 套接字激活。详情请查看 httpd.socket(8) 手册页。
  • 添加了多个新模块:

    • mod_proxy_hcheck - 代理健康检查模块
    • mod_proxy_uwsgi - Web 服务器网关接口(WSGI)代理
    • mod_proxy_fdpass - 支持将客户端套接字传递给另一个进程
    • mod_cache_socache - 使用的 HTTP 缓存,如 memcache backend
    • mod_md - ACME 协议 SSL/TLS 证书服务
  • 现在默认载入以下模块:

    • mod_request
    • mod_macro
    • mod_watchdog
  • 添加了一个新的子 软件包 httpd-filesystem,其中包含 Apache HTTP 服务器 的基本目录布局,包括目录的正确权限。
  • 引入了实例化服务支持 httpd@.service。如需更多信息,请参阅 httpd.service man page。
  • 新的 httpd-init.service 替换 %post 脚本 来创建自签名的 mod_ssl 密钥对。
  • mod_md 软件包现在支持使用自动证书管理环境(ACME)协议进行自动 TLS 证书置备和续订(用于 Let 的加密等证书提供商)。
  • Apache HTTP 服务器 现在支持直接从 PKCS#11 模块的硬件安全令牌加载 TLS 证书和私钥。现在,mod_ssl 配置可以使用 PKCS#11 URL 来标识 TLS 私钥,(可选)以及 SSLCertificateKeyFileSSLCertificateFile 指令中的 TLS 证书。
  • 现在,支持 /etc/httpd/conf/httpd.conf 文件中的 ListenFree 指令。

    Listen 指令类似,listenFree 也提供有关服务器侦听的 IP 地址、端口或 IP 地址和端口组合的信息。但是,使用 ListenFree 时,默认启用 IP_FREEBIND 套接字选项。因此,允许 httpd 绑定到非本地 IP 地址或尚不存在的 IP 地址。这允许 httpd 侦听套接字,无需在 httpd 尝试绑定到底层网络接口或指定的动态 IP 地址处于在线状态。

    请注意,ListenFree 指令目前仅在 RHEL 8 中可用。

    有关 ListenFree 的详情,请查看下表:

    表 1.1. ListenFree 指令的语法、状态和模块
    语法状态模块

    ListenFree [IP-address:]portnumber [protocol]

    MPM

    event、worker、prefork、mpm_winnt、mpm_netware、mpmt_os2

其他显著变化包括:

  • 删除了以下模块:

  • 在 RHEL 8 中,Apache HTTP 服务器 使用的默认 DBM 验证数据库已经从 SDBM 改为 db5
  • Apache HTTP 服务器的 mod_wsgi 模块已更新为 Python 3。WSGI 应用程序现在只支持 Python 3,且必须从 Python 2 中迁移。
  • 默认情况下,使用 Apache HTTP 服务器配置 的多处理模块(MPM)从多进程(称为 prefork)的派生模型更改为高性能多线程模型 事件

    任何不是线程的第三方模块都需要被替换或删除。要更改配置的 MPM,请编辑 /etc/httpd/conf.modules.d/00-mpm.conf 文件。详情请查看 httpd.service(8) 手册页。

  • 现在,suEXEC 允许的用户的 UID 和 GID 最少为 1000 和 500(之前为 100 和 100)。
  • /etc/sysconfig/httpd 文件不再被支持用来为 httpd 服务设置环境变量。为 systemd 服务添加了 httpd.service(8)手册页
  • 现在,停止 httpd 服务默认使用"正常停止"。
  • mod_auth_kerb 模块已被 mod_auth_gssapi 模块替代。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.