Apache HTTP 服务器安装指南
用于红帽 JBoss 中间件产品。
摘要
提供有关 Red Hat JBoss Core Services 文档的反馈 复制链接链接已复制到粘贴板!
要报告错误或改进文档,请登录您的红帽 JIRA 帐户并提交问题。如果您没有红帽 JIRA 帐户,系统会提示您创建一个帐户。
流程
- 单击以下链接 来创建 ticket。
- 在 Summary 中输入有关此问题的简单描述。
- 在描述中提供问题或增强功能的详细描述。请包括有问题的文档 URL。
- 点 Create 创建并将问题路由到适当的文档团队。
使开源包含更多 复制链接链接已复制到粘贴板!
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息。
第 1 章 JBCS Apache HTTP 服务器安装简介 复制链接链接已复制到粘贴板!
红帽 JBoss 核心服务(JBCS)提供一系列补充软件,包括 Apache HTTP 服务器,可用于各种红帽 JBoss 中间件产品。红帽将这个补充软件打包在 JBCS 下,以便更快地发布更新,并提供更一致的更新体验。
有关 JBCS 支持组件的完整列表,请参阅 Core Services Apache HTTP Server Component Details 网页。
在尝试访问 Core Services Apache HTTP Server 组件详情 网页前,请确定您有一个有效的红帽订阅,并登录到红帽客户门户网站。
1.1. JBCS Apache HTTP Server 复制链接链接已复制到粘贴板!
红帽 JBoss 核心服务(JBCS)提供多个红帽 JBoss 中间件产品使用的 Apache HTTP 服务器的分发版本。Apache HTTP 服务器处理 Web 客户端通过 Hypertext 传输协议(HTTP)发送的请求。
JBoss 中间件产品的 Apache HTTP 服务器发布
在旧的 JBoss 产品中,每个 JBoss 中间件产品都提供了 Apache HTTP 服务器的独立分发。从以下产品版本开始,每个 JBoss 中间件产品都使用 Apache HTTP 服务器的 JBCS 发行版:
- Red Hat JBoss Enterprise Application Platform (JBoss EAP) 7.0 或更高版本
- Red Hat JBoss Web Server 3.1 或更高版本
Apache HTTP 服务器的 JBCS 和 RHEL 发行版之间的区别
JBCS 和 Red Hat Enterprise Linux (RHEL)提供 Apache HTTP 服务器的独立分发。
在 RHEL 9 中,JBCS 不提供 Apache HTTP 服务器的 RPM 发行版。JBCS 仅为 RHEL 9 系统提供 Apache HTTP 服务器的存档文件分布。
与早期 RHEL 版本上的 JBCS 版本不同,RHEL 9 系统的 Apache HTTP 服务器的 JBCS 发行版基于 Apache HTTP 服务器 httpd 软件包的 RHEL 发行版。JBCS 在 RHEL 9 上提供存档文件分发,以支持同时运行多个 Apache HTTP 服务器实例。
考虑 JBCS 和 RHEL 提供的 Apache HTTP 服务器发行版本之间的以下区别:
- 对于 RHEL 版本 7 和 8
- 您可以从归档文件或 RPM 软件包安装 JBCS Apache HTTP 服务器。您只能从 RPM 软件包安装 RHEL Apache HTTP 服务器。
只有 JBCS Apache HTTP 服务器提供负载平衡 HTTP 连接器
mod_jk和mod_proxy_cluster。RHEL Apache HTTP 服务器不提供这些模块。注意在 JBCS 2.4.37 及更早的版本中,
mod_proxy_cluster连接器名为mod_cluster。-
在 RHEL 7 中,只有 JBCS Apache HTTP 服务器提供
mod_proxy_uwsgi模块。从 RHEL 8 开始,Apache HTTP 服务器的 JBCS 和 RHEL 发行版都提供mod_proxy_uwsgi模块。
- 对于 RHEL 9
-
与 RHEL 7 和 RHEL 8 上的 JBCS 版本不同,RHEL 9 上的 JBCS 版本基于 Apache HTTP Server
httpd软件包的 RHEL 发行版。因此,RHEL 9 上的 JBCS 与早期 RHEL 版本上的 Apache HTTP 服务器的 JBCS 发行版相比有一些行为差异。如需更多信息,请参阅 不同 RHEL 版本上的 JBCS 发行版之间的行为差异。 -
JBCS 仅提供 Apache HTTP 服务器的存档文件分布。如果要从 RPM 软件包安装 Apache HTTP 服务器,则您的唯一选项是使用 Application Streams 安装
httpd软件包的 RHEL 发行版。 - JBCS 提供的 Apache HTTP 服务器版本与 RHEL 通过 Application Streams 功能提供的 Apache HTTP 服务器版本不同。
-
Apache HTTP 服务器的 JBCS 和 RHEL 发行版提供
mod_jk连接器和mod_proxy_cluster连接器的相同副本。
-
与 RHEL 7 和 RHEL 8 上的 JBCS 版本不同,RHEL 9 上的 JBCS 版本基于 Apache HTTP Server
- 在所有 RHEL 版本中
-
JBCS Apache HTTP 服务器使用顶级
jbcs-httpd24-2.4/httpd安装目录。RHEL Apache HTTP 服务器使用标准 RHEL 目录来安装httpd软件包,如/etc/httpd、usr/share/httpd、var/log/httpd等。 -
当您从存档文件或使用
groupinstall选项安装 Apache HTTP 服务器的 JBCS 发行版时,您还会自动安装mod_jk和mod_proxy_cluster连接器。 -
JBCS Apache HTTP 服务器不提供或支持
mod_php模块。只有 RHEL Apache HTTP 服务器支持mod_php模块。
-
JBCS Apache HTTP 服务器使用顶级
不同 RHEL 版本上的 JBCS 发行版之间的行为区别
与 RHEL 7 或 RHEL 8 上的 JBCS 2.4.57 不同,RHEL 9 系统的 JBCS 2.4.57 发行版基于 Apache HTTP Server httpd 软件包的 RHEL 发行版。红帽从 RHEL 9 分发 httpd 软件包的方式发生了这个变化,这有助于为 Apache HTTP 服务器用户提供更加一致且更简单的用户体验。
因此,RHEL 9 上的 JBCS 2.4.57 与早期 RHEL 版本上的 JBCS 2.4.57 相比有一定的行为区别。
请考虑以下指南:
-
在 RHEL 9 中,
mod_security模块不支持SecCollectionGCFrequency指令来指定垃圾回收频率。JBCS 在 RHEL 7 和 RHEL 8 上提供的mod_security模块支持SecCollectionGCFrequency指令。 -
在 RHEL 9 中,
mod_deflate模块不支持DeflateAlterEtag指令,以指定在压缩响应时如何更改 ETag 标头。JBCS 在 RHEL 7 上提供的mod_deflate模块和 RHEL 8 支持DeflateAlterEtag指令。 在 RHEL 9 中,
httpd.conf.sample文件不包括以下内容:-
用于指定服务器在其中记录守护进程的进程 ID 的文件的默认
PidFile指令 -
mod_mime部分中的AddLanguage指令列表,用于将特定文件名扩展映射到特定内容语言 -
web_dav模块的配置部分,用于基于 Web 的分布式编写和版本控制(WebDav)
在 RHEL 7 和 RHEL 8 上提供 JBCS 的
httpd.conf.sample文件包括所有上述内容。-
用于指定服务器在其中记录守护进程的进程 ID 的文件的默认
1.2. JBCS Apache HTTP 服务器支持的操作系统和安装方法 复制链接链接已复制到粘贴板!
Red Hat JBoss Core Services (JBCS)为 Red Hat Enterprise Linux (RHEL)和 Windows Server 操作系统的不同版本提供 Apache HTTP 服务器的发布。
在支持的操作系统上安装 JBCS Apache HTTP 服务器的以下指南:
- 在所有支持的 RHEL 和 Windows Server 版本中,您可以使用每个平台可用的归档安装文件安装 JBCS Apache HTTP 服务器。
- 在 RHEL 版本 7 和 8 中,您可以使用 Red Hat Package Manager (RPM)软件包安装 JBCS Apache HTTP 服务器。
- 在 RHEL 9 中,如果要从 RPM 软件包安装 Apache HTTP 服务器,则必须使用 Application Streams 安装 Apache HTTP 服务器的 RHEL 发行版。您不能使用 RPM 软件包在 RHEL 9 上安装 JBCS Apache HTTP 服务器。
1.3. 将现有的 JBCS 安装升级到 2.4.57 发行版本 复制链接链接已复制到粘贴板!
如果您之前安装了 Red Hat JBoss Core Services (JBCS) 2.4.51 或更早版本,您可以将现有的 JBCS 安装升级到最新的 2.4.57 版本。升级 JBCS 的步骤会因您从存档文件或 RPM 软件包安装的产品而异。
1.3.1. 从存档文件安装时升级现有的 JBCS 安装 复制链接链接已复制到粘贴板!
如果您之前从归档文件安装了 JBCS Apache HTTP Server 2.4.51 或更早版本,您可以升级到最新的 2.4.57 版本。
升级过程包括以下步骤:
- 安装 Apache HTTP 服务器 2.4.57
- 设置 Apache HTTP 服务器 2.4.57
- 删除早期版本的 Apache HTTP 服务器
先决条件
- 如果您使用 Red Hat Enterprise Linux (RHEL),则具有 root 用户访问。
- 如果使用 Windows Server,则具有管理访问权限。
- 您已在现有从存档文件安装的 JBCS Apache HTTP Server 2.4.51 或更早版本安装。
流程
- 关闭 Apache HTTP Server 2.4.51 的任何正在运行的实例。
- 备份 Apache HTTP 服务器 2.4.51 安装和配置文件。
- 使用当前系统的存档文件安装方法安装 Apache HTTP 服务器 2.4.57。如需更多信息 ,请参阅本节末尾的附加资源。
将您的配置从 Apache HTTP 服务器版本 2.4.51 迁移到 2.4.57 版本。
注意自 Apache HTTP 服务器 2.4.51 发布以来,JBCS 配置文件可能已更改。更新 2.4.57 版本配置文件,而不是使用不同版本的配置文件覆盖这些文件,如 Apache HTTP Server 2.4.51。
- 删除 Apache HTTP Server 2.4.51 根目录。
1.3.2. 从 RPM 软件包安装时升级现有的 JBCS 安装 复制链接链接已复制到粘贴板!
如果您之前从 RPM 软件包安装了 JBCS Apache HTTP Server 2.4.51 或更早版本,您可以使用 yum groupupdate 命令升级到最新的 2.4.57 版本。
先决条件
- 您已在现有从 RHEL 7 或 RHEL 8 上的 RPM 软件包安装的 JBCS Apache HTTP Server 2.4.51 或更早版本安装。
流程
以 root 用户身份输入以下命令:
# yum groupupdate jbcs-httpd24
1.4. RHEL 7 和 RHEL 8 之间的主要区别 复制链接链接已复制到粘贴板!
本节概述 Red Hat Enterprise Linux (RHEL) 8 中引入的一些关键更改。
- 删除的安全功能
- RHEL 7 中已弃用完全由数字组成的用户名和组名称,在 RHEL 8 中完全删除它们的支持。
- 内存管理
- 在 RHEL 7 中,现有内存总线有 48/46 位的虚拟/物理内存寻址的容量,而 Linux 内核实现了 4 级页表,以管理这些虚拟地址到物理地址。使用扩展地址范围时,RHEL 8 中的内存管理支持实现 5 级页表,以允许处理扩展的地址范围。在 RHEL 8 中,默认禁用对 5 级页表的支持,即使系统支持此功能。
- XFS 支持
- RHEL 7 只能在只读模式下使用共享复制时写入数据扩展挂载 XFS 文件系统。在 RHEL 8 中,XFS 文件系统支持共享的 copy-on-write 数据扩展功能。这个功能可让两个或者多个文件共享一组通用的数据块。
- NFS 配置
-
在 RHEL 7 中,NFS 配置位于
/etc/sysconfig/nfs文件中。在 RHEL 8 中,NFS 配置位于/etc/nfs.conf文件中。
1.5. RHEL 8 和 RHEL 9 之间的主要区别 复制链接链接已复制到粘贴板!
本节概述 Red Hat Enterprise Linux (RHEL) 9 中引入的一些关键更改。
- 应用程序流增强
RHEL 8 引入了一个名为 Application Streams 的功能。RHEL 使用 Application Streams 提供和更新用户空间组件的多个版本,如应用程序、运行时语言和数据库比核心操作系统软件包更频繁。每个 Application Stream 都代表一个组件的特定版本,应用程序流中的每个组件都有一个定义的生命周期。Application Streams 为用户提供了更大的灵活性来使用组件版本,这些版本可满足特定用例和工作负载的要求,而不影响平台或部署的底层稳定性。
在 RHEL 8 中,红帽将内容打包在 Application Streams 中,作为 RPM 软件包、模块(软件包组)和 Software Collections 的组合。RHEL 9 通过提供初始应用程序流版本,您可以使用标准的
dnf install命令作为 RPM 软件包安装来进一步增强 Application Streams 功能- Apache 连接器和负载均衡器的可用性
RHEL 9 提供 Apache Tomcat Connector (
mod_jk)和 JBoss HTTP Connector (mod_proxy_cluster)的分发,用于平衡 Web 客户端请求到后端应用服务器。mod_jk和mod_proxy_cluster的 RHEL 发行版与这些模块的 JBCS 发行版相同。安装 Apache HTTP 服务器的 RHEL 发行版不会自动安装
mod_jk和mod_proxy_cluster模块。有关从 RHEL 9 上的 RPM 软件包安装mod_jk和mod_proxy_cluster的更多信息,请参阅 Apache HTTP 服务器连接器和负载平衡指南。
第 2 章 从存档文件在 RHEL 上安装 JBCS Apache HTTP 服务器 复制链接链接已复制到粘贴板!
在 Red Hat Enterprise Linux (RHEL)版本 7、8 和 9 上,Red Hat JBoss Core Services (JBCS)提供了可从存档文件安装的 Apache HTTP 服务器的分发。您可以从红帽客户门户上的 软件下载页面 下载并 提取存档文件。您必须为原始 2.4.57 版本安装基本存档文件。您还可以安装最新的服务包版本(若有)。
从存档文件安装 Apache HTTP 服务器时,您可以以不同的方式管理该产品。例如,您可以在系统启动时使用系统守护进程,或者从命令行管理 Apache HTTP 服务器。
从 2.4.57 Service Pack 2 开始,JBCS 还支持在 RHEL 9 上从存档文件安装 Apache HTTP Server 2.4.57。对于 RHEL 9 上的 JBCS Apache HTTP Server 2.4.57 安装,基本归档文件是 Red Hat JBoss Core Services Apache HTTP Server 2.4.57 Service Pack 02 for RHEL 9 x86_64。
2.1. 在 RHEL 上下载和提取 Apache HTTP 服务器存档文件 复制链接链接已复制到粘贴板!
您可以从红帽客户门户网站上的 软件下载页面 下载 Apache HTTP 服务器存档文件。根据您使用的 Red Hat Enterprise Linux (RHEL)版本,下载存档文件的步骤略有不同。
如果您有对预期安装目录的写入权限,您可以使用非 root 权限安装存档文件。
先决条件
您已安装了
krb5-workstation和mailcap软件包。如果要安装这些软件包,以 root 用户身份运行以下命令:
# yum install krb5-workstation mailcap
流程
- 打开浏览器并登录到红帽客户门户网站上的 Software Downloads 页面。
- 在 Product 下拉菜单中选择 Apache HTTP Server。
- 在 Version 下拉菜单中选择正确的 JBCS 版本。
根据您使用的 RHEL 版本,执行以下步骤之一:
-
如果您在 Releases 选项卡中使用 RHEL 7,点
Red Hat JBoss Core Services Apache HTTP Server 2.4.57 for RHEL 7 x86_64文件旁边的 Download。 -
如果您在 Releases 选项卡中使用 RHEL 8,点
Red Hat JBoss Core Services Apache HTTP Server 2.4.57 for RHEL 8 x86_64文件旁边的 Download。 如果您使用 RHEL 9,点 安全公告 标签页。然后点
Red Hat JBoss Core Services Apache HTTP Server 2.4.57 Service Pack 02 for RHEL 9 x86_64文件旁边的 Download。注意Red Hat JBoss Core Services Apache HTTP Server 2.4.57 Service Pack 02 for RHEL 9 x86_64文件是用于在 RHEL 9 上安装 JBCS Apache HTTP Server 2.4.57 的基本存档文件。
-
如果您在 Releases 选项卡中使用 RHEL 7,点
将下载的存档文件提取到您的安装目录中。
注意在 RHEL 系统中,在
/opt/目录中安装 Apache HTTP 服务器。归档文件的提取会自动为 Apache HTTP 服务器创建顶级
jbcs-httpd24-2.4/httpd目录。本文档将jbcs-httpd24-2.4/httpd目录指代为HTTPD_HOME。要安装最新的服务包版本(若有),请执行以下步骤:
- 在 Software Downloads 页面上,点 Security Advisory 选项卡。
在 安全公告 选项卡中,点最新
Red Hat JBoss Core Services Apache HTTP Server 2.4.57 Service Pack归档文件旁边的 Download,该文件与系统的平台和架构匹配。例如,如果您要在 RHEL 8 上安装 Apache HTTP Server 2.4.57 的 Service Pack X 发行版本,点
Red Hat JBoss Core Services Apache HTTP Server 2.4.57 Service Pack X for RHEL 8 x86_64文件旁的 Download。注意服务包的发布是累计的。通过下载最新的服务包版本,您还可以自动安装任何以前的服务包版本。
2.2. 使用命令行管理归档安装的 Apache HTTP 服务器配置 复制链接链接已复制到粘贴板!
当您从 RHEL 上的存档文件安装 JBCS Apache HTTP 服务器时,您可以直接从命令行启动和停止 Apache HTTP 服务器。在从命令行运行 Apache HTTP 服务器前,您必须执行以下一系列配置任务:
2.2.1. 创建 Apache 用户 复制链接链接已复制到粘贴板!
在首次从命令行运行 Apache HTTP 服务器之前,您必须创建 apache 用户帐户和组。您还必须将 Apache 目录的所有权分配给 apache 用户,以便用户可以运行 Apache HTTP 服务器。
您必须以 root 用户身份执行此流程中的所有步骤。
先决条件
流程
-
在命令行中,前往
HTTPD_HOME目录。 运行以下命令来创建
apache用户组:# groupadd -g 48 -r apache要在
apache用户组中创建apache用户,请输入以下命令:# /usr/sbin/useradd -c "Apache" -u 48 -g apache -s /sbin/nologin -r apache要为
apache用户分配 Apache 目录的所有权,请输入以下命令:# chown -R apache:apache *
验证
要验证
apache用户是否为目录的所有者,请输入以下命令:# ls -l
2.2.2. 禁用或启用 SSL 支持 复制链接链接已复制到粘贴板!
在运行 Apache HTTP 服务器前,您可以选择通过重命名 SSL 配置文件来禁用或启用 SSL 支持。默认情况下,Apache HTTP 服务器支持 SSL。
流程
-
前往
HTTPD_HOME/conf.d/目录。 要启用或禁用 SSL,请执行以下步骤之一:
-
如果要禁用 SSL,请将 ssl.conf 重命名为
。ssl.conf.disabled -
如果要重新启用 SSL,请将
ssl.conf.disabled重命名为ssl.conf。
-
如果要禁用 SSL,请将 ssl.conf 重命名为
2.2.3. 在安装后运行 Apache HTTP 服务器安装后脚本 复制链接链接已复制到粘贴板!
首次从命令行运行 Apache HTTP 服务器前,您必须运行 Apache HTTP 服务器安装后脚本。
流程
-
在命令行中,前往
HTTPD_HOME目录。 输入以下命令:
./.postinstall
2.3. 从存档文件安装时,从命令行启动 Apache HTTP 服务器 复制链接链接已复制到粘贴板!
当您从 RHEL 上的存档文件安装 JBCS Apache HTTP 服务器时,您可以直接从命令行启动 Apache HTTP 服务器。
先决条件
流程
-
在命令行中,前往
HTTPD_HOME/sbin/目录。 以 root 用户身份输入以下命令:
./apachectl start
2.4. 从存档文件安装时,从命令行停止 Apache HTTP 服务器 复制链接链接已复制到粘贴板!
当您从 RHEL 上的存档文件安装 JBCS Apache HTTP 服务器时,您可以直接从命令行停止 Apache HTTP 服务器的运行实例。
先决条件
流程
-
在命令行中,前往
HTTPD_HOME/sbin/目录。 以 root 用户身份输入以下命令:
./apachectl stop
2.5. 从命令行运行 Apache HTTP 服务器,无需 root 特权 复制链接链接已复制到粘贴板!
当您从 RHEL 上的存档文件安装 JBCS Apache HTTP 服务器时,您可以从命令行以没有 root 权限的用户身份登录 Apache HTTP 服务器。在这种情况下,您可以使用非 root 用户帐户,如 apache 用户。
流程
停止 Apache HTTP 服务器的所有实例:
pkill httpd在
HTTPD_HOME/conf/httpd.conf文件中,将http侦听端口高于 1024 :Listen 2080 ServerName <hostname>:2080在
HTTPD_HOME/conf.d/ssl.conf文件中,将https侦听端口高于 1024 :Listen 2443更改日志目录的所有权:chown -R apache:apache HTTPD_HOME/logs/更改
run目录的所有权:chown -R apache:apache HTTPD_HOME/var/run/验证
httpd是否在apache用户下运行,而不是root和apache用户:$ ps -eo euser,egroup,comm | grep httpd这个命令会产生以下输出类型:
apache apache httpd apache apache httpd apache apache httpd ...重要限制
apache用户的文件权限并启用 SELinux。这有助于防止以下情况:
- 由网站用户未授权访问或修改文件和目录
- 对 Apache HTTP 服务器配置文件不需要的更改
2.6. 从存档文件安装时使用 systemd 管理 Apache HTTP 服务器 复制链接链接已复制到粘贴板!
当您从 RHEL 上的存档文件安装 JBCS Apache HTTP 服务器时,您可以使用系统守护进程执行管理任务。将 Apache HTTP 服务器与系统守护进程一起使用提供了一种在系统启动时启动 Apache HTTP 服务器服务的方法。系统守护进程还提供 start、stop 和 status 检查功能。
在 RHEL 版本 7、8 和 9 中,默认的系统守护进程是 systemd。
先决条件
- 您已从 归档文件 安装了 Apache HTTP 服务器。
流程
要确定哪个系统守护进程正在运行,请输入以下命令:
$ ps -p 1 -o comm=如果
systemd正在运行,则会显示以下输出:systemd要为
systemd设置 Apache HTTP 服务器,以 root 用户身份运行.postinstall.systemd脚本:# cd HTTPD_HOME # sh httpd/.postinstall.systemd要使用
systemd控制 Apache HTTP 服务器,请以 root 用户身份输入以下任一命令:要启用 Apache HTTP 服务器服务在系统启动时启动:
# systemctl enable jbcs-httpd24-httpd.service启动 Apache HTTP 服务器:
# systemctl start jbcs-httpd24-httpd.service停止 Apache HTTP 服务器:
# systemctl stop jbcs-httpd24-httpd.service验证 Apache HTTP 服务器的状态:
# systemctl status jbcs-httpd24-httpd.service注意任何用户都可以运行
systemctl status命令。
要恢复 .postinstall.systemd 脚本影响的任何更改,您可以输入以下命令:
# cd HTTPD_HOME
# sh httpd/.postinstall.services.cleanup
有关使用 systemd 的更多信息,请参阅附加资源 链接。
2.7. Apache HTTP 服务器的 SELinux 策略 复制链接链接已复制到粘贴板!
您可以使用 Security-Enhanced Linux (SELinux)策略为 Apache HTTP 服务器定义访问控制。这些策略是一组规则,用于决定产品的访问权限。
2.7.1. SELinux 策略信息 复制链接链接已复制到粘贴板!
SELinux 安全模型由内核实施,并确保应用程序对资源(如文件系统位置和端口)具有有限的访问权限。SELinux 策略可确保任何被破坏或配置不当的进程都被限制或阻止运行。
Apache HTTP 服务器安装中的 jbcs-httpd24-httpd-selinux 软件包提供 mod_proxy_cluster 策略。下表包含有关提供的 SELinux 策略的信息。
| Name | 端口信息 | 策略信息 |
|---|---|---|
|
|
为 |
安装后脚本配置 |
2.7.2. 为 Apache HTTP 服务器归档安装 SELinux 策略 复制链接链接已复制到粘贴板!
在这个发行版本中,归档软件包提供 SELinux 策略。root Apache HTTP Server 文件夹包含一个 .postinstall.selinux 文件。如果需要,您可以运行 .postinstall.selinux 脚本。
默认情况下,Apache HTTP 服务器提供的 SELinux 策略未激活,且 Apache HTTP 服务器进程在 unconfined_t 域中运行。这个域不会限制进程。如果您选择不启用提供的 SELinux 策略,请限制 apache 用户的文件访问权限,以便 apache 用户只能访问 Apache HTTP 服务器运行时所需的文件和目录。
流程
安装
selinux-policy-devel软件包:yum install -y selinux-policy-devel运行
.postinstall.selinux脚本:cd <httpd_home> sh .postinstall.selinux创建并安装 SELinux 模块:
cd <httpd_home>/selinux/ make -f /usr/share/selinux/devel/Makefile semodule -i jbcs-httpd24-httpd.pp为 Apache HTTP 服务器应用 SELinux 上下文:
restorecon -r <httpd_home>为 Apache HTTP 服务器所需的端口添加访问权限:
semanage port -a -t http_port_t -p tcp 6666 semanage port -a -t http_port_t -p udp 23364启动 Apache HTTP 服务器服务:
<httpd_home>/sbin/apachectl start检查希望
httpd_t的正在运行的进程的上下文:$ ps -eZ | grep httpd | head -n1 unconfined_u:unconfined_r:httpd_t:s0-s0:c0.c1023 2864 ? 00:00:00 httpd验证 httpd 目录的上下文。例如:
ls -lZ <httpd_home>/logs/
在 Red Hat Enterprise Linux (RHEL)版本 7 和 8 上,Red Hat JBoss Core Services (JBCS)提供 Apache HTTP 服务器分发,您可以从 RPM 软件包安装。Red Hat Subscription Management 提供了 JBCS Apache HTTP 服务器的 RPM 安装软件包。从 RPM 软件包安装 Apache HTTP 服务器,将 Apache HTTP 服务器安装为服务。
JBCS 仅为 RHEL 版本 7 和 8 提供 Apache HTTP 服务器的 RPM 发行版。JBCS 不提供 RHEL 9 的 Apache HTTP 服务器的 RPM 发行版。
如果要在 RHEL 9 上从 RPM 软件包安装 Apache HTTP 服务器,则必须使用 RHEL 的 Application Streams 功能。如需更多信息,请参阅使用 应用程序流在 RHEL 9 上安装 Apache HTTP 服务器。
3.1. 将订阅附加到 RHEL 复制链接链接已复制到粘贴板!
在为 Apache HTTP 服务器下载并安装 RPM 软件包前,您必须将订阅附加到 Red Hat Enterprise Linux (RHEL)。您可以通过将您的系统注册到 Red Hat Subscription Management 并订阅相应的 Content Delivery Network (CDN)存储库来附加订阅。之后,您可以执行一些验证步骤,以确保订阅提供所需的 CDN 存储库。
流程
使用 Red Hat Subscription Management 注册您的系统:
- 登录到 Red Hat Subscription Management 网页。
- 点 Systems 选项卡。
-
点击您要添加订阅的系统的
Name。 -
从 Details 选项卡更改为 Subscriptions 选项卡,然后单击
Attach Subscriptions。 -
选中您要附加的订阅旁边的复选框,然后单击
Attach Subscriptions。
要为您的操作系统版本订阅 Apache HTTP Server CDN 软件仓库,以 root 用户身份输入以下命令:
# subscription-manager repos --enable <repository>注意如果您使用 RHEL 7,将 <
repository> 替换为jb-coreservices-1-for-rhel-7-server-rpms。如果您使用 RHEL 8,将 <
repository> 替换为jb-coreservices-1-for-rhel-8-x86_64-rpms。
验证
- 登录到 Red Hat Subscriptions 网页。
-
在
Subscription Name列中,点击您要选择的订阅。 - 在 Provided 下,您需要 Red Hat JBoss Core Services。
有关注册已安装 RHEL 版本的更多信息,请参阅附加资源 链接。
其他资源
- RHEL 7 :安装指南:订阅管理器.
- RHEL 8 :配置基本系统设置:注册系统并管理订阅。
3.2. 使用 YUM 从 RPM 软件包安装 Apache HTTP 服务器 复制链接链接已复制到粘贴板!
您可以使用 YUM 软件包管理器从 RHEL 7 或 RHEL 8 上的 RPM 软件包安装 JBCS Apache HTTP 服务器。
先决条件
- 您已将 订阅附加到 RHEL。
流程
要安装 Apache HTTP 服务器,请以 root 用户身份输入以下命令:
# yum groupinstall jbcs-httpd24
3.3. 从 RPM 安装时配置 Apache HTTP 服务器安装 复制链接链接已复制到粘贴板!
从 RPM 软件包安装 Apache HTTP 服务器时,您可以选择在运行 Apache HTTP 服务器前删除 SSL 支持。默认情况下,Apache HTTP 服务器支持 SSL。您可以通过删除 mod_ssl 软件包来选择删除 SSL 支持。
流程
在命令行中以 root 用户身份输入以下命令:
# yum remove jbcs-httpd24-mod_ssl
3.4. 从 RPM 安装时,从命令行启动 Apache HTTP 服务器 复制链接链接已复制到粘贴板!
从 RPM 软件包安装 JBCS Apache HTTP 服务器时,您可以使用命令行启动 Apache HTTP 服务器。
流程
在命令行中,以 root 用户身份启动 Apache HTTP Server 服务:
# systemctl start jbcs-httpd24-httpd.service
3.5. 从 RPM 安装时,从命令行停止 Apache HTTP 服务器 复制链接链接已复制到粘贴板!
从 RPM 软件包安装 JBCS Apache HTTP 服务器时,您可以使用命令行停止 Apache HTTP 服务器。
流程
在命令行中以 root 用户身份停止 Apache HTTP 服务器服务:
# systemctl stop jbcs-httpd24-httpd.service
3.6. 将 Apache HTTP 服务器配置为在系统启动时启动 复制链接链接已复制到粘贴板!
从 RPM 软件包安装 JBCS Apache HTTP 服务器时,您可以将 Apache HTTP 服务器服务配置为在系统启动时启动。
流程
要启用 Apache HTTP 服务器服务在系统启动时启动,请以 root 用户身份输入以下命令:
# systemctl enable jbcs-httpd24-httpd.service
3.7. Apache HTTP 服务器的 SELinux 策略 复制链接链接已复制到粘贴板!
您可以使用 Security-Enhanced Linux (SELinux)策略为 Apache HTTP 服务器定义访问控制。这些策略是一组规则,用于决定产品的访问权限。
3.7.1. SELinux 策略信息 复制链接链接已复制到粘贴板!
SELinux 安全模型由内核实施,并确保应用程序对资源(如文件系统位置和端口)具有有限的访问权限。SELinux 策略可确保任何被破坏或配置不当的进程都被限制或阻止运行。
Apache HTTP 服务器安装中的 jbcs-httpd24-httpd-selinux 软件包提供 mod_proxy_cluster 策略。下表包含有关提供的 SELinux 策略的信息。
| Name | 端口信息 | 策略信息 |
|---|---|---|
|
|
为 |
安装后脚本配置 |
3.7.2. 为 Apache HTTP 服务器 RPM 安装启用 SELinux 策略 复制链接链接已复制到粘贴板!
从 RPM 软件包安装 JBCS Apache HTTP 服务器时,jbcs -httpd2.4-httpd-selinux 软件包为 Apache HTTP 服务器提供 SELinux 策略。jbcs-httpd2.4-httpd-selinux 软件包位于 jb-coreservices-1-for-rhel-7-server-rpms 和 jb-coreservices-1-for-rhel-8-x86_64-rpms Content Delivery Network (CDN)存储库中。
流程
-
为您要使用的 RHEL 版本安装
jbcs-httpd2.4-httpd-selinux软件包。
第 4 章 在 Windows 服务器上安装 JBCS Apache HTTP 服务器 复制链接链接已复制到粘贴板!
您可以从红帽客户门户网站上的 软件 下载页面下载的一组存档文件在 Windows Server 上安装 JBCS Apache HTTP 服务器。
4.1. 在 Windows 服务器上下载和提取 Apache HTTP 服务器存档文件 复制链接链接已复制到粘贴板!
您可以从红帽客户门户网站上的 软件下载页面 下载 Apache HTTP 服务器存档文件。您可以从 Software Downloads 页面的 Releases 选项卡中下载基本 JBCS Apache HTTP Server 2.4.57 版本的存档文件。您也可以从软件下载页面 的安全公告 选项卡中下载最新的服务包版本(若有)。
如果您有对预期安装文件夹的写入权限,您可以使用非管理员用户安装存档文件。
流程
- 打开浏览器并登录到红帽客户门户网站上的 Software Downloads 页面。
- 在 Product 下拉菜单中选择 Apache HTTP Server。
- 在 Version 下拉菜单中选择正确的 JBCS 版本。
-
在 Releases 选项卡中,点
Red Hat JBoss Core Services Apache HTTP Server 2.4.57 for Windows Server x86_64文件旁边的 Download。 将下载的存档文件提取到您的安装目录中。
注意在 Windows Server 系统上,在
C:\Program Files目录中安装 Apache HTTP 服务器。归档文件的提取会自动为 Apache HTTP 服务器创建顶级
jbcs-httpd24-2.4文件夹。本文档将jbcs-httpd24-2.4文件夹指代为HTTPD_HOME。要安装最新的服务包版本(若有),请执行以下步骤:
- 在 Software Downloads 页面上,点 Security Advisory 选项卡。
在 安全公告 选项卡中,点最新
Red Hat JBoss Core Services Apache HTTP Server 2.4.57 Service Pack X for Windows Server x86_64文件旁的 Download。注意服务包的发布是累计的。通过下载最新的服务包版本,您还可以自动安装任何以前的服务包版本。
4.2. Windows Server 上的 Apache HTTP 服务器配置 复制链接链接已复制到粘贴板!
当您在 Windows Server 上安装 JBCS Apache HTTP Server 时,您可以从命令提示符或使用 Computer 管理工具管理 Apache HTTP 服务器。在 Windows Server 上运行 Apache HTTP 服务器前,您必须执行以下一系列配置任务:
4.2.1. 在 Windows Server 上运行 Apache HTTP 服务器安装后脚本 复制链接链接已复制到粘贴板!
在 Windows Server 上第一次运行 Apache HTTP 服务器前,您必须运行 Apache HTTP 服务器安装后脚本。
流程
- 以管理用户身份, 打开命令提示符。
-
前往
HTTPD_HOME\etc目录。 输入以下命令:
call postinstall.httpd.bat
4.2.2. 安装 Apache HTTP 服务器服务 复制链接链接已复制到粘贴板!
在 Windows Server 上第一次运行 Apache HTTP 服务器前,您必须将 Apache HTTP Server 安装为 Windows 服务。
默认情况下,Apache HTTP 服务器配置为使用端口 80。如果您安装了 Microsoft Internet Information Services (IIS),您必须禁用或重新配置 Microsoft ActiveDoc 以避免端口冲突:
-
停止
World Wide Web服务,并将启动类型更改为Manual。 - 配置 conditional,以使用不同的端口。
或者,您可以在安装 Apache HTTP 服务器服务前编辑 httpd.conf,并将 Listen 更改为与 Microsoft conditional 端口不冲突的端口。
先决条件
流程
- 以管理用户身份, 打开命令提示符。
-
前往
HTTPD_HOME\bin目录。 要安装 Apache HTTP 服务器服务,请输入以下命令:
httpd -k install注意可能会显示一个防火墙安全对话框,以请求 Apache HTTP 服务器的网络访问。单击 Allow 以从网络访问此服务。
4.2.3. 为 Apache HTTP 服务器服务配置文件夹权限 复制链接链接已复制到粘贴板!
在 Windows 服务器上第一次运行 Apache HTTP 服务器前,您必须确保用于运行该服务的帐户对 HTTPD_HOME 文件夹及其所有子文件夹具有完全控制。
先决条件
流程
-
右键单击
HTTPD_HOME文件夹,再单击 属性。 - 选择 Security 选项卡。
- 点 Edit 按钮。
- 点击 Add 按钮。
-
在文本框中,输入
LOCAL SERVICE。 -
为
LOCAL SERVICE帐户选择 Full Control 复选框。 - 点确定。
- 单击 Advanced 按钮。
- 在 Advanced Security Settings 对话框中,选择 LOCAL SERVICE 并点 Edit。
- 选中 此对象选项中所有下级下的所有现有的可继承权限 旁边的复选框。
- 在所有打开文件夹属性窗口点 OK 以应用设置。
4.2.4. 禁用或启用 SSL 支持 复制链接链接已复制到粘贴板!
在运行 Apache HTTP 服务器前,您可以选择通过重命名 SSL 配置文件来禁用或启用 SSL 支持。默认情况下,Apache HTTP 服务器支持 SSL。
先决条件
流程
-
前往
HTTPD_HOME\conf.d\目录。 要启用或禁用 SSL,请执行以下步骤之一:
-
如果要禁用 SSL,请将 ssl.conf 重命名为
。ssl.conf.disabled -
如果要重新启用 SSL,请将
ssl.conf.disabled重命名为ssl.conf。
-
如果要禁用 SSL,请将 ssl.conf 重命名为
4.3. 在 Windows 服务器上启动 Apache HTTP 服务器 复制链接链接已复制到粘贴板!
当您在 Windows 服务器上安装 JBCS Apache HTTP Server 时,您可以使用命令提示符或计算机管理工具启动 Apache HTTP 服务器服务。
先决条件
流程
执行以下步骤:
以管理员身份打开命令提示,并输入以下命令:
net start Apache2.4-
点 Start > Administrative Tools > Services,右键点击
httpd服务,然后点 Start。
4.4. 在 Windows Server 上停止 Apache HTTP 服务器 复制链接链接已复制到粘贴板!
当您在 Windows 服务器上安装 JBCS Apache HTTP Server 时,您可以使用命令提示符或计算机管理工具停止 Apache HTTP 服务器服务。
先决条件
流程
执行以下步骤:
以管理员身份打开命令提示,并输入以下命令:
net stop Apache2.4-
点 Start > Administrative Tools > Services,右键点击
httpd服务,然后点 Stop。
第 5 章 使用应用程序流在 RHEL 9 上安装 Apache HTTP 服务器 复制链接链接已复制到粘贴板!
Red Hat Enterprise Linux (RHEL) Application Streams 功能提供和更新多个用户空间组件版本,如 AppStream 存储库中的应用程序、运行时语言和数据库。在 RHEL 9 中,如果要从 RPM 软件包安装 Apache HTTP 服务器,则必须使用 Application Streams 安装 Apache HTTP 服务器的 RHEL 发行版。
Red Hat JBoss Core Services (JBCS)不提供 RHEL 9 的 Apache HTTP 服务器的 RPM 发行版。RHEL AppStream 软件仓库提供的 Apache HTTP Server httpd 软件包是唯一受支持的 Apache HTTP Server for RHEL 9 系统 RPM 发行版。
安装 Apache HTTP 服务器的 RHEL 发行版不会自动安装 mod_jk 和 mod_proxy_cluster 软件包。有关从 RHEL 9 上的 RPM 软件包安装 mod_jk 和 mod_proxy_cluster 的更多信息,请参阅 Apache HTTP 服务器连接器和负载平衡指南。
5.1. 使用应用程序流安装 Apache HTTP 服务器 复制链接链接已复制到粘贴板!
您可以使用标准 dnf install 命令从 RPM 软件包安装 Apache HTTP 服务器的 RHEL 9 发行版。之后,您可以以 root 用户身份从命令行启动和停止 Apache HTTP 服务器。或者,您可以启用 Apache HTTP 服务器在系统引导时自动启动。
有关安装、启动和停止 Apache HTTP 服务器的 RHEL 发行版的更多信息,请参阅设置 Apache HTTP web 服务器。
5.2. Apache HTTP 服务器的 SELinux 策略 复制链接链接已复制到粘贴板!
您可以使用 Security-Enhanced Linux (SELinux)策略为 Apache HTTP 服务器定义访问控制。这些策略是一组规则,用于决定产品的访问权限。
Apache HTTP 服务器的 SELinux 类型名称为 httpd_t。默认情况下,Apache HTTP 服务器可以访问 /var/www/html 中的文件和目录,以及 SELinux 类型上下文 httpd_sys_content_t 中的文件和目录。
如果要使用非标准配置,您也可以为 Apache HTTP 服务器自定义 SELinux 策略。
第 6 章 为 JBCS Apache HTTP 服务器启用 HTTP/2 复制链接链接已复制到粘贴板!
Hypertext 传输协议(HTTP)是通过互联网在应用程序间传输数据的标准方法,如服务器和浏览器。Apache HTTP 服务器支持使用 HTTP/2 作为使用传输层安全(TLS)的加密连接,该连接在启用时由 h2 关键字表示。
HTTP/2 通过提供以下改进来改进 HTTP/1.1:
- 标头压缩省略了指示的信息,以减少传输的标头大小。
- 单个连接中的多个请求和响应使用二进制 RAM 而不是文本中断响应消息。
Apache HTTP 服务器不支持将 HTTP/2 用于使用传输控制协议(TCP)的未加密的连接,该连接在启用时由 h2c 关键字表示。
HTTP/2 不适用于使用多处理模块(MPM)预分叉(modules/mod_mpm_prefork.so)的 Web 服务器。
6.1. 先决条件 复制链接链接已复制到粘贴板!
- 在 Red Hat Enterprise Linux 上具有 root 用户访问权限。
- 在 Windows 服务器上具有管理访问权限。
- 已安装 Red Hat JBoss Core Services Apache HTTP Server 2.4.23 或更高版本。
已安装 SSL 模块(
modules/mod_ssl.so)。如果您需要安装 SSL 模块,请输入以下命令:
yum install mod_ssl已安装 HTTP/2 模块(
modules/mod_http2.so)。如果您需要安装 HTTP/2 模块,请输入以下命令:
yum install mod_http2
Red Hat Enterprise Linux 6 不再被支持,之后从文档中删除了。
6.2. 为 Apache HTTP 服务器启用 HTTP/2 复制链接链接已复制到粘贴板!
您可以通过更新 HTTP_HOME 目录中的配置文件设置,为 Apache HTTP 服务器启用 HTTP/2。
流程
将
http2_module添加到配置中:-
打开
HTTP_HOME/conf.modules.d/00-base.conf文件。 输入以下行:
... LoadModule http2_module modules/mod_http2.so
-
打开
在配置中添加
h2协议:-
打开
HTTP_HOME/conf/httpd.conf文件。 如果要为虚拟主机启用 HTTP/2 支持,请将
h2协议添加到虚拟主机配置中。或者,如果您要为所有服务器连接启用 HTTP/2 支持,请将
h2协议添加到主服务器配置部分。例如:
<IfModule http2_module> Protocols h2 http/1.1 ProtocolsHonorOrder on </IfModule>
-
打开
更新安全套接字层(SSL)配置:
-
打开
HTTP_HOME/conf.d/ssl.conf文件: 确保将
SSLEngine指令设置为 enabled。SSL Engine 默认启用。SSLEngine on更新
SSLProtocol指令,以禁用SSLv2和SSLv3协议。这会强制连接使用传输层安全(TLS)协议。SSLProtocol all -SSLv2 -SSLv3更新
SSLCipherSuite指令,以指定哪些 SSL 密码可与 Apache HTTP 服务器一起使用。例如:
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK注意有关 SSL 模块和支持的指令的更多信息,请参阅 Apache HTTP 服务器文档版本 2.4 - 模块:Apache Module mod_ssl。
-
打开
要重启 Red Hat JBoss Core Services Apache HTTP 服务器并应用更改的配置,以 root 用户身份执行以下步骤:
如果要使用
systemd在 Red Hat Enterprise Linux 上启动 Apache HTTP 服务器,请输入以下命令:# systemctl restart jbcs-httpd24-httpd.service如果要使用
apachectl在 Red Hat Enterprise Linux 上启动 Red Hat JBoss Core Services,请输入以下命令:# HTTP_HOME/sbin/apachectl restart如果要在 Windows Server 上启动 Apache HTTP 服务器,请输入以下命令:
# net restart Apache2.4
6.3. 查看 Apache HTTP 服务器日志,以验证是否启用了 HTTP/2 复制链接链接已复制到粘贴板!
您可以查看 Apache HTTP 服务器访问日志或请求日志,以验证是否启用了 HTTP/2。
先决条件
- 您已 启用了 HTTP/2。
流程
-
从浏览器或使用
curl命令行工具访问服务器。 要检查 SSL/TLS 请求日志,请输入以下命令:
$ grep 'HTTP/2' HTTP_HOME/logs/ssl_request_log要检查 SSL/TLS 访问日志,请输入以下命令:
$ grep 'HTTP/2' HTTP_HOME/logs/ssl_access_log
验证
如果启用了 HTTP/2,
grep 'HTTP/2' HTTP_HOME/logs/ssl_request_log命令会生成以下类型的输出:[26/Apr/2018:06:44:45 +0000] 172.17.0.1 TLSv1.2 AES128-SHA "HEAD /html-single/index.html HTTP/2" -如果启用了 HTTP/2,
grep 'HTTP/2' HTTP_HOME/logs/ssl_access_log命令会生成以下类型的输出:172.17.0.1 - - [26/Apr/2018:06:44:45 +0000] "HEAD /html-single/index.html HTTP/2" 200 -
6.4. 使用 curl 命令验证是否启用了 HTTP/2 复制链接链接已复制到粘贴板!
您可以使用 curl 命令行工具来验证是否启用了 HTTP/2。
由 Red Hat Enterprise Linux 7 或更早版本提供的 curl 软件包不支持 HTTP/2。
先决条件
- 您已 启用了 HTTP/2。
您使用的是支持
HTTP2的curl版本。要检查您是否使用支持 HTTP/2 的
curl版本,请输入以下命令:$ curl -V这个命令会产生以下类型的输出:
curl 7.55.1 (x86_64-redhat-linux-gnu) ... Release-Date: 2017-08-14 Protocols: dict file ftp ftps gopher http https ... Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy Metalink PSL
步骤
要检查 HTTP/2 协议是否活跃,请输入以下命令:
$ curl -I https://<JBCS_httpd_server>:<port>/<test.html>注意在前面的示例中,将 &
lt;JBCS_httpd_server> 替换为服务器的 URI,如example.com,并将 <test.html> 替换为您要用来测试配置的任何 HTML 文件。不提供 HTML 测试页面示例。端口号取决于您的配置。
验证
如果 HTTP/2 协议处于活跃状态,则
curl命令会生成以下输出:HTTP/2 200否则,如果 HTTP/2 协议不活跃,则
curl命令会生成以下输出:HTTP/1.1 200
第 7 章 使用 OCSP 保护连接 复制链接链接已复制到粘贴板!
在线证书状态协议(OCSP)是一种技术,它允许 Web 浏览器和 Web 服务器通过安全连接进行通信。加密的数据从一个端发送,并在处理前由另一端解密。Web 浏览器和 Web 服务器都加密和解密数据。
7.1. 在线证书状态协议 复制链接链接已复制到粘贴板!
当 Web 浏览器和 Web 服务器通过安全连接进行通信时,服务器会以证书的形式提供一组凭据。然后,浏览器会验证证书,并发送请求以获取证书状态信息。服务器以当前、过期或未知的证书状态进行响应。
证书包含以下类型的信息:
- 通信的语法
- 控制时间、结束时间和地址信息来访问在线证书状态协议(OCSP)响应器等。
Web 服务器使用 OCSP 响应程序来检查证书状态。您可以将 Web 服务器配置为使用证书中列出的 OCSP 响应程序或其他 OCSP 响应程序。OCSP 为过期的证书允许宽限期,允许在续订证书前访问服务器。
OCSP 解决了较旧的证书撤销列表(CRL)方法的限制。
7.2. 为 SSL 连接配置 Apache HTTP 服务器 复制链接链接已复制到粘贴板!
您可以通过安装 mod_ssl 软件包并在 ssl.conf 文件中指定配置设置,将 Apache HTTP 服务器配置为支持 SSL 连接。
先决条件
- 您已生成了一个 SSL 证书和私钥。
- 您知道 SSL 证书和私钥文件的位置。
- 您已获得与 SSL 证书关联的通用名称(CN)。
流程
要安装
mod_ssl,请输入以下命令:# yum install jbcs-httpd24-mod_ssl指定 SSL 配置设置:
-
打开
JBCS_HOME/httpd/conf.d/ssl.conf文件。 输入
ServerName、SSLCertificateFile和SSLCertificateKeyFile的详细信息。例如:
<VirtualHost _default_:443> ServerName www.example.com:443 SSLCertificateFile /opt/rh/jbcs-httpd24/root/etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /opt/rh/jbcs-httpd24/root/etc/pki/tls/private/localhost.key注意-
ServerName必须与与 SSL 证书关联的通用名称(CN)匹配。如果ServerName与 CN 不匹配,客户端浏览器会显示域名不匹配的错误。 -
SSLCertificateFile指定 SSL 证书文件的路径。 -
SSLCertificateKeyFile指定与 SSL 证书关联的私钥文件的路径。
-
-
打开
-
验证
Listen指令是否与部署的httpd服务的主机名或 IP 地址匹配。 要重启 Apache HTTP 服务器,请输入以下命令:
# service jbcs-httpd24-httpd restart
7.3. 使用带有 Apache HTTP 服务器的 OCSP 复制链接链接已复制到粘贴板!
您可以使用在线证书状态协议(OCSP)与 Apache HTTP 服务器安全连接。
流程
配置证书颁发机构。
注意确保您的 CA 可以发布 OCSP 证书。CA 必须能够将以下属性附加到证书中:
[ usr_cert ] ... authorityInfoAccess=OCSP;URI:http://<HOST>:<PORT> ... [ v3_OCSP ] basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment extendedKeyUsage = OCSP Signing在前面的示例中,将
HOST和PORT替换为您要配置的 OCSP 响应器的详细信息。- 配置 OCSP 响应程序。
7.4. 配置 Apache HTTP 服务器以验证 OCSP 证书 复制链接链接已复制到粘贴板!
您可以通过在 ssl_conf 文件中定义 OCSP 设置,将 Apache HTTP 服务器配置为验证 OCSP 证书。
流程
-
打开
JBCS_HOME/httpd/conf.d/ssl.conf文件。 为您的部署指定适当的 OCSP 配置详情。
例如:
# Require valid client certificates (mutual auth) SSLVerifyClient require SSLVerifyDepth 3 # Enable OCSP SSLOCSPEnable on SSLOCSPDefaultResponder http://<HOST>:<PORT> SSLOCSPOverrideResponder on注意前面的示例演示了如何启用客户端证书的 OCSP 验证。在前面的示例中,将 <
HOST> 和 <PORT> 替换为默认 OCSP Responder 的 IP 地址和端口。
7.5. 验证 Apache HTTP 服务器的 OCSP 配置 复制链接链接已复制到粘贴板!
您可以使用 OpenSSL 命令行工具验证 Apache HTTP 服务器的 OCSP 配置。
流程
在命令行中以以下格式输入
openssl命令:# openssl ocsp -issuer cacert.crt -cert client.cert -url http://HOST:PORT -CA ocsp_ca.cert -VAfile ocsp.cert在前面的命令中,确保指定以下详情:
-
使用
-issuer选项指定 CA 证书。 -
使用
-cert选项指定您要验证的客户端证书。 -
使用
-url选项指定 HTTP 服务器验证证书(OCSP)。 -
使用
-CA选项指定用于验证 Apache HTTP 服务器服务器证书的 CA 证书。 -
使用
-VAfile选项指定 OCSP 响应器证书。
-
使用
更新于 2025-09-10