本节列出了 Web Server 7.0 Update 2 发行时存在的重要已知问题和限制。
下表列出了 Web Server 管理方面的已知问题。
表 4 管理方面的已知问题
问题 ID |
描述 |
---|---|
6364924 |
节点可以注册到可能导致配置冲突的多个 Administration Server。 可以将节点注册到第二个 Administration Server,而不必取消对第一个 Administration Server 的注册。但是,这将导致两个 Administration Server 都无法访问节点。 解决方法: 在每次注册时,重新启动管理节点。管理节点将对所注册到的最新 Administration Server 可用。 |
6379125 |
wadm 命令允许连接到节点,显示证书,然后抛出“HTTP 400 错误”。 当某个管理节点收到连接时,该管理节点在继续之前将不会检查连接是否来自 Administration Server。它不仅列显不恰当的错误消息,而且提示用户输入密码。 |
6387762 |
无法通过 wadm 访问 shell/系统变量。 解决方法: wadm 不继承 shell 环境变量。但是,要使 wadm 可以使用 shell 变量,可以使用 "java::call System getenv env_var_name 例如: 要从 wadm 中访问 shell 环境变量 MAIL,请在 wadm 提示符下键入以下命令: wadm> java::call System getenv "MAIL" /var/mail/abc |
4793938 |
显示用户和密码对话框,而不显示目录索引。 默认情况下,如果用户尚未通过验证,Web Server 7.0 将不会发送目录索引。如果用户试图访问目录,则会提示用户输入用户名和密码。出现这种情况是因为 Web Server 7.0 的默认访问控制列表 (Access Control List, ACL) 仅向已通过验证的用户授予列表访问权限。 解决方法 可以使用管理控制台或编辑 default.acl 文件,将列表访问权限授予未认证的用户。有关如何授予列表访问权限的更多信息,请参见《Sun Java System Web Server 7.0 Update 2 Administrator’s Guide》中的“Configuring Access Control”。 |
6327352 |
如果未启动群集中的其他实例,会话复制启用的实例将无法正常启动。 |
6393534 |
使用 migrate-jks-keycert 命令迁移 Java 密钥库密钥证书后,试图通过 list-certs 命令列出迁移的 jks 密钥证书,显示 CN、组织以及其他信息,而非证书昵称。 |
6407486 |
使用 wadm set-ssl-prop 命令设置 SSL 属性时,server-cert-nickname 属性可接受任何证书昵称,而非仅接受服务器证书昵称。 |
6443742 |
如果为“节点”选项提供了限定域名,将无法使用 set-session-replication-prop CLI 命令。 解决方法 使用 list-nodes 命令的输出作为 set-session-replication-prop 命令中节点的有效名称。 |
6468570 |
在 wadm 提示符中指定 "yes" 会导致 CLI 崩溃。 |
6469676 |
如果试图在管理证书过期后连接到 Administration Server,会显示不正确的错误消息。 |
6480600 |
当 Administration Server 用完磁盘空间时,register-node 命令会显示不正确的错误消息。 |
6495446 |
如果设备没有可用的磁盘空间,wadm 会抛出一条不正确的错误消息“无法与管理服务器通信”。 |
6502800 |
执行同时带有 "--all" 和 "--instance" 选项的 migrate-server 命令不产生错误。 应显示警告或错误消息,表明用户正在试图设置互斥选项。 |
6416328 |
对已在运行的实例启用了管理控制台中的“启动实例”按钮。 应根据实例状态来启用或禁用按钮。 |
6418312 |
wadm 允许定义重复的用户属性。 添加重复的用户属性不会显示错误消息;但是,未创建新的用户属性。 |
6421740 |
没有用于使用管理控制台或 CLI 来创建新的访问控制列表 (Access Control List, ACL) 文件的置备。 |
6423432 |
在 Windows 上,使用现有配置重复执行添加和删除已注册节点的过程会导致验证失败。 |
6426116 |
单击管理控制台中的“版本”按钮会在“管理”错误日志中生成“未找到文件”警告。 |
6430417 |
MIME 类型允许使用多字节字符的 MIME 值。 |
6442081 |
“访问控制列表”页中的文本未设置格式。 |
6442172 |
即使已将用户从验证数据库中删除,也可以在 ACE 的“可用”和 “已选择” 列表间切换用户。 |
6446162 |
删除密钥或摘要文件验证数据库之前,不会发出警告。 |
6446206 |
删除组中的单个用户时,会显示不正确的消息“已成功保存组”。 |
6448421 |
管理界面允许在密钥文件验证数据库中创建具有多字节用户 ID 的新用户。 |
6455827 |
管理控制台的“用户和组”表将全部结果显示在同一页中。 |
6461101 |
需要修订管理控制台的“创建自签名证书 ”页中的“请求证书”和“安装”按钮标记。 |
6462057 |
即使“可用”列表中不存在任何项,也会在新的 ACE 窗口中启用“添加”和“删除”按钮。 |
6464891 |
管理控制台将服务器日志的显示在第 50 行或第 2 页处截断。 |
6465382 |
证书请求向导中没有用于检查错误的国家/地区代码条目的验证。 |
6465421 |
在管理控制台中,没有为虚拟服务器、authdb、dav 集和事件字段提供文本字段说明。 |
6466336 |
创建新配置时,管理控制台显示的 JDK 版本不正确。 管理控制台中显示的 JDK 版本为 5.0 u6,而不是 5.0 u7。 |
6471171 |
从“节点”-> "Administration Server" ->“一般”选项卡重新启动 Administration Server 后,会丢失样式格式。 |
6471367 |
试图在同一浏览器的另一个选项卡中访问管理控制台无效。 |
6471792 |
“查看日志”将结果显示在同一页中。 尽管为记录大小选择的搜索标准是 25 个日志条目,但即使日志条目超过 50 个,该日志也会在同一页中显示结果。 |
6472932 |
删除令牌密码,然后在“日常任务”->“选择配置”->“编辑配置”->“证书”->“PKCS11 令牌”页中将其重置后,会显示令牌不匹配错误。 |
6486037 |
“虚拟服务器管理”->“内容处理”->“文档目录”->“添加”应具有用于选择附加文档目录路径的浏览选项。 |
6492906 |
管理控制台中显示的有关 WebDAV 集锁定的消息可造成误导。 如果将 WebDAV 集的超时值指定为 infinite,“日常任务”->“选择配置”->“选择虚拟服务器”->“编辑虚拟服务器”-> "WebDAV" ->“选择集”页会显示消息 DOES NOT EXPIRE。这实际意味着,指定的时间或超时为无穷大之后,锁定不会自动到期。 |
6498484 |
使用“设置密码”按钮设置空的令牌密码时,显示不正确的错误消息。 |
6500157 |
如果尝试编辑令牌密码,并在已经运行的实例上部署配置,实例将无法重新启动。 |
6502287 |
删除配置并单击“迁移”按钮时,管理控制台会显示一条异常。 |
6502374 |
向导中的“管理控制台查看”屏幕应仅显示具有值的字段。 |
6502793 |
迁移过程中不会验证 log-dir 路径权限。 |
6266358 |
如果管理密码包含扩展的 ASCII 字符,将无法通过管理 CLI 登录。 |
6361329 |
应验证错误响应文件名称。 |
6367282 |
Administration Server 使用过期的证书启动;wadm 应对过期的证书发出警告。 |
6375505 |
unregister-node 命令还应清除管理节点上的证书。 |
6408169 |
WebDAV 锁定 CLI 在群集环境中无效。 |
6408186 |
不应允许在同一个已注册到同一管理服务器的节点上安装多个管理节点。 |
6416369 |
访问管理节点 URL 导致“找不到页”错误。 由于管理节点没有 GUI,访问管理节点 URL 将导致找不到页错误。 |
6422936 |
不验证 Java 的“JVM 路径设置”中的类路径前缀和后缀以及本机库路径。 |
6423310 |
server.xml 元素应根据功能进行分组。 |
6431984 |
Web Server 应将其 pid 文件和 UNIX 域套接字存储在 /var/run 中,而不是 /tmp 中。 |
6441773 |
在 Windows 中,管理服务器会在停止 Web 应用程序之前物理移动 Web 应用程序文件。 |
6462515 |
在 config 目录中创建运行时文件后,管理控制台会显示“实例已修改”消息,使用户发生误解。 |
6462579 |
在管理服务器中注销管理节点之后,卸载该管理节点时不删除信任库。 |
6468330 |
重新启动实例后,不保存对 JavaHome 属性所做的更改。 |
6475536 |
没有用于重置管理服务器密码的明显方法。 解决方法
|
6489727 |
[JESMF CONFORM] CP 停止时应调用 MfManagedElementServer_stop()。 |
6491749 |
某些文本字段中需要更好地验证以防止 obj.conf 文件损坏。 表单中数据的大多数功能验证在后端执行。GUI 仅有很少的检查,如空字段、整数值和 ASCII 值。因此,当解析的数据损坏时,GUI 将数据存储在 obj.conf 中。 |
6493971 |
如果服务器实例重新启动未响应,Admin Server 不会超时。 在 UNIX 系统上,执行 restart-instance 命令后,Administration Server 会一直等待,直到重新启动服务器实例。如果未成功重新启动实例,Administration Server 不会响应请求。 |
6497213 |
执行 restart-admin 命令后执行 stop-admin 命令会在管理错误日志中抛出异常。 |
6515745 |
在 Web Server 上,SNMP 主代理进程无法启动。 解决方法: 将 tcp_xmit_hiwat 值更改为更高的值(如 262144)后,对等 SNMP 主代理将正常工作。键入以下命令以更改 tcp_xmit_hiwat 值。 # ndd -set /dev/tcp tcp_xmit_hiwat 262144 |
6545779 |
在 Windows 上,如果 system32 目录中存在早期版本的 libnspr4.dll,则 wdeploy 命令将失败。 解决方法 在调用 Java 之前,编辑位于 install_dir/bin 目录中的 wdeploy.bat 文件。将 Java 目录的路径更改为 install_dir/lib 目录。进行此修改后,Windows 会先在 install_dir/lib 目录中查找 libnspr4.dll,然后再在 system32 目录中查找。 |
6587832 |
在 Windows 上,管理控制台间歇性地无法出现。 解决方法
|
6606243 |
Web Server 安装程序会将管理员自签证书导入到 IE 证书选项卡中。 在使用浏览器访问管理控制台时,会显示一个弹出窗口(使用 IE6 和 Mozilla/Firefox 时)或警告页面(使用 IE7 时),说明证书不是由受信任证书颁发机构颁发的。这是因为管理服务器使用的是自签证书。要转至管理 GUI 登录页面,请执行以下操作:
以上过程将在相应浏览器会话中临时接受证书。 要永久接受证书,请按以下步骤操作:
|
6606132 |
在未设置 "Sun Metaslot" PIN 时,创建自签证书失败 解决方法 在创建自签证书之前,使用 pktool 设置 "Sun Metaslot" 密码。 # pktool setpin 提供密码。 现在可以使用 create-self-signed-cert 命令或管理控制台创建自签证书。 |
下表列出了 Web Server 内核方面的已知问题。
表 5 内核方面的已知问题
问题 ID |
描述 |
---|---|
6296993 |
如果执行 obj.conf 指令时出现错误,不会记录发现违例指令的文件名和行号。 |
6365160 |
由于违反数据类型约束而导致 server.xml 模式验证失败时,系统将显示一条未描述该元素的有效值集的错误消息。 |
6378940 |
对于所有 HTTP 标头解析错误,都未使用客户机 IP 和对错误的描述进行记录。 |
6470552 |
set-variable SAF 无法设置预定义变量。 |
6486480 |
指定 <replacement>false</replacement> 时,service-nsfc-dump 条目命中计数为 0。 如果在 server.xml 文件中指定了 <replacement>false</replacement>,service-nsfc-dump 输出中的条目命中计数将显示为 0。但是,高速缓存命中计数显示正确。 |
6489220 |
服务器将包含 $$ 字符常量的非内插字符串视为内插字符串。 参数值包含 $$ 转义符时,服务器将为该参数块构造一个 PblockModel。这不是必需的,因为 $$ 为常量。 |
6639402 |
服务器为 1024 最大文件描述符设置的连接队列大小非常小 (128) Web Server 保留各种组件的文件描述符。如果未设置连接池队列大小、文件高速缓存最大打开文件数和保持活动的最大连接数,在保留其他组件的文件描述符后,Web Server 会在这三者之间分配可用的描述符。在最大文件描述符默认值很低的系统(例如, Solaris 8 和 RHEL)中,连接池大小可设置为较低的值。例如,在 RHEL 中,最大文件描述符默认值为 1024。如果未分配连接队列大小,Web Server 会为连接队列分配 128 个连接数。在繁忙的系统中,该值可能很低。如果连接启动超时,用户应该为最大文件描述符设置较高的值。 |
下表列出了 FastCGI 方面的已知问题。
表 6 FastCGI 方面的已知问题
问题 ID |
描述 |
---|---|
6485248 |
将 reuse-connection 设置为 true 时,fastcgi 存根不正常关闭所有进程。 将 Web Server 7.0 配置为与作为 FastCGI 插件的 PHP 配合工作,并设置 reuse-connection=true。关闭服务器或重新配置服务器时,fastcgi() 进程及其子进程仍存在,未正常中止。 |
6644322 |
Fastcgistub 中的内存泄漏导致 Fastcgi 子系统出现挂起 |
下表列出了 Web Server 安装方面的已知问题。
表 7 安装方面的已知问题
下表列出了 Web Server 迁移和升级方面的已知问题。
表 8 迁移和升级方面的已知问题
下表列出了 Web Server 样例应用程序方面的已知问题。
表 9 样例应用程序方面的已知问题
问题 ID |
描述 |
---|---|
6472796 |
sendmail.jsp 所显示的要进行编辑以便为 javamail 样例应用程序指定 resource.host 的文件不正确。 解决方法 要设置 javamail.resource.host,应编辑 javamail.build.properties,而不是 install_dir/samples/java/webapps/javamail/src/docroot/sendmail.jsp 中指定的 build.xml。 |
6559735 |
样例应用程序文档必须介绍如何将 jar 文件添加到属性文件中的类路径。 在 install-dir/samples/java/webapps/security/jdbcrealm/docs/index.html 中的 "Compiling and Assembling the Application" 一节下,必须介绍如何将 JDBC 驱动程序 jar 文件添加到 jdbcrealm.build.properties 文件中的类路径后缀。 |
下表列出了 Web Server 7.0 搜索功能方面的已知问题。
表 10 搜索方面的已知问题
问题 ID |
描述 |
---|---|
6413058 |
server.xml 不存储用于转换和包括搜索的完整文件模式。 在此版本的 Web Server 中,模式不存储管理控制台和搜索管理工具都允许的完整文件模式。对于可能有时需要从先前版本的 Web Server 迁移的完整文件模式,也没有用于表示它的方法。 |
6632936 |
在 Red Hat Linux Enterprise Linux 5 中,搜索功能不能正常工作。 在 Red Hat Enterprise Linux 计算机中,如果已安装 compat-libstdc++ 库,则必须删除已安装的 rpm,然后下载/安装 compat-libstdc++-296-2.96-132.7.2.i386.rpm 。 针对 x86 32–位和 64–位下载和安装 compat-libstdc++-296-2.96-132.7.2.i386.rpm。 注 – 请勿从不可靠的源下载/安装 rpm,因为可能会导致安全漏洞。 |
下表列出了 Web Server 安全性方面的已知问题。
表 11 安全性方面的已知问题
问题 ID |
描述 |
||
---|---|---|---|
6376901 |
支持同一目录中的资源的基于基本的 ACL 和基于摘要的 ACL 时的限制。 如果服务器在其文档树的不同部分中使用基于摘要的 ACL 和基于基本的 ACL,将无法在相同目录的不同文件或资源中同时使用它们。 |
||
6431287 |
TLS_ECDH_RSA_* 要求使用 RSA 密钥签名的服务器证书。 格式为 TLS_ECDH_RSA_* 的加密算法套件要求服务器具有 ECC 密钥对,并且具有使用 RSA 密钥签名的证书。请注意,这不包括将这些加密算法套件与自签名证书一起使用。此要求是这些加密算法套件固有的,不是错误。服务器应检测与这些加密算法套件相关的错误配置,并对其发出警告,但当前服务器未执行这些操作。 |
||
6611067 |
在启用文件系统 SELinux 安全性后,无法启动 Red Hat Enterprise Linux 实例。 更新的 Linux 分发产品包含了 SELinux 项目实现的新内核安全扩展。这些扩展允许对系统安全进行更加精确的控制。不过,SELinux 还更改一些默认的系统行为,例如,可能造成第三方程序出现问题的共享库加载行为。如果在启动 Web Server 管理服务器或实例时收到错误消息 "Cannot restore segment prot after reloc: Permission denied" ,这意味着系统已启用 SELinux。 解决方法 要解决该故障,请:
|
||
6602075 |
Web Server 上使用的 Sun Crypto 1000 需要 Solaris 10 修补程序 125465-02 (SPARC) 和 125466-02 (x86)。 解决方法 可从以下位置获取适用于 Solaris 10 平台 (SPARC) 的必需修补程序: http://sunsolve.central.sun.com/search/document.do?assetkey=1-21-125465-02-1 可从以下位置获取适用于 Solaris 10 平台 (x86) 的必需修补程序: http://sunsolve.central.sun.com/search/document.do?assetkey=1-21-125466 |
下表列出了 Web Server 7.0 会话复制功能方面的已知问题。
表 12 会话复制方面的已知问题
问题 ID |
描述 |
---|---|
6324321 |
发生远程错误时,不显示描述性错误消息。 发生远程异常时,错误消息记录在远程实例的错误日志中。但是,本地实例当前显示一条常规远程异常,未明确指明用户必须查看哪一条错误日志。 |
6396820 |
在客户机上禁用 cookie 时,会话复制不能正确进行故障转移。 |
6406176 |
启用会话复制后,会话复制应为默认会话管理器。 使用管理控制台或 CLI,或者通过编辑 server.xml 文件启用会话复制后,未真正启用会话复制。需要手动编辑 sun-web.xml。 |
下表列出了 Web Server 的 Web 容器方面的已知问题。
表 13 Web 容器方面的已知问题
问题 ID |
描述 |
---|---|
4858178 |
Web 容器写入 stderr。 |
6349517 |
MaxProcs > 1 模式的 Web 应用程序会话统计信息不正确。 Web Server 在多进程模式下运行。magnus.conf 中的 MaxProcs 配置变量用于设置最大进程数。如果将 MaxProcs 的值设置为大于 1,Web Server 将使用基于 mmap 的会话管理器,这样可以在不同 JVM 之间共享会话。从多个进程收集统计信息时,Web 应用程序 MBean 为各个 MBean 提供会话。无法通过查看各个 MBean 的 Web 应用程序会话统计信息来找出真正的会话数。
|
6394715 |
Web 容器删除禁用的 Web 应用程序 MBean 对象。 通过将 server.xml 文件中的 <enabled> 元素设置为 false 来禁用 Web 应用程序时,Web 容器将删除 Web 应用程序的 MBean,因此视其为已关闭或删除的 Web 应用程序。由于删除了禁用的对象,统计信息也会丢失。 |
6419070 |
成功创建 JNDI 资源时,最详细日志等级的错误日志中没有记录任何消息。 |
6422200 |
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse 执行 1 个字节的读取。 读取 server.xml 文件时,包含 XML 版本号和编码的第一行每次被读取 1 个字节。 |
6432870 |
在 server.xml 文件中,将启用统计信息的元素设置为 false 时,Servlet 容器将收集统计信息。 |
6440064 |
Servlet 容器为每个虚拟服务器创建一个线程。 |
6501184 |
REQ_EXIT 导致 javax.servlet.ServletException。 |
6567124 |
运行在 Web Server 7.0 上的 JSF Web 应用程序如果运行在 Web Server 7.0 Update 1 上,则可能会中断。 提供的 Web Server 7.0 Update 1 中包含了 JavaServer Faces 1.2 技术。所有 JavaServer Faces Web 应用程序应该无需任何修改即可用于 Web Server 7.0 Update 1。但是,存在一些已知的与 JavaServer Faces 1.2 的兼容性问题,因此可能需要对应用程序进行修改以解决这些不兼容性。JavaServer Faces 发行说明中记录了这些不兼容性,其 URL 为:https://javaserverfaces.dev.java.net/rlnotes/1.2_04/issues.html。 建议 Java ES 5 Portal Server 用户延迟升级到 Web Server 7.0 Update 1,直到发行了 Java ES 5 Update 1。 |
下表列出了 Web Server 的本地化版本方面的已知问题。
表 14 本地化方面的已知问题。
问题 ID |
描述 |
---|---|
6543814 |
对于多字节字符串,搜索过滤器 "*" 不能正确工作。 |
6549619 |
在 Windows 2003 上,如果从 CLI 执行命令,则消息的编码不正确。 |
6630841 |
创建 FastCGI 处理程序的新角色时总是使用“英文”名称。 |
6632818 |
在 CGI 设置页面中有未本地化的字符串。 |
6628910 |
在本地化语言环境中,CLI 安装程序 "Enter your option" 为英文。 |
6633333 |
浏览器设置为德语语言环境时,已部署实例搜索页面 (http://instance:port/search ) 底部的链接不正确。 解决方法 德语用户应手动将以下 URL 粘贴至浏览器的地址栏中: 使用条款:http://www.sun.com/share/text/termsofuse.html 隐私策略:http://de.sun.com/privacy 商标: http://www.sun.com/suntrademarks/ |
下表列出了 Java Enterprise System (Java ES) 中的已知问题。
表 15 Java ES 方面的已知问题
问题 ID |
描述 |
---|---|
6484181 |
Portal Server 将 JVM 栈大小配置为 128K,这对于 Web Server 7.0 64 位版本来说太小而无法启动。 如果已经在 64 位模式下配置了 Web Server 7.0,并且 Portal Server 安装已启动,则 Portal Server 配置不会将栈大小设置为 128K。但是,如果已经在 32 位模式下安装并配置了 Portal Server 和 Web Server 这两者,则切换到 64 位模式会涉及一系列手动步骤,“解决方法”部分描述了这些步骤。 解决方法 如果 Java ES 5 的 Portal Server 部分部署在 32 位版本的 Web Server 7.0 之上,并且您想要在 64 位模式下启动服务器,请执行以下步骤:
|
6487041 |
schemagen/xjc/wsgen/wsimport 脚本在 Java ES Web Server 安装中不存在。 schemagen/xjc/wsgen/wsimport 脚本存在于 Java ES 安装和 Web Server 的独立安装的不同位置。 解决方法 这些脚本是 Web 服务组件的一部分。在独立 Web Server 安装中,这些脚本和 JAR 文件分别位于 install_dir/bin 和 install_dir/lib 目录中。 在 Java ES 安装中,脚本和 JAR 文件作为共享组件的一部分进行安装,它们驻留在 Web Server 安装根目录之外。 下面列出了脚本和 JAR 文件在不同平台中的位置: Solaris OS:
Linux 和 HP-UX:
Windows:
|
6432106 |
Web Server 升级之后,Sun Java System Portal Server 搜索抛出异常。 将 Web Server 从 Java ES 4 升级到 Java ES 5 时,Portal Server 搜索功能抛出异常。 解决方法 注 – 将现有 libdb-3.3.so 和 libdb_java-3.3.so 库文件移动到适当的位置,即 Web Server 专有目录之外的某个位置。Portal Server 库位于适当的位置后,必须在以下命令中针对 <libdb-3.3.so path>:<libdb_java-3.3.so path> 指定该路径。 在 Solaris 平台上,执行以下步骤:
|
6504178 |
迁移日志在 Java ES 5 中报告虚假的 "root is not a valid user" 消息。 在 UNIX 平台上,从 Java ES 4 迁移到 Java ES 5 时,迁移日志文件会报告 WARNING: "root is not a valid user"。这是不正确的,因为 "root" 用户在该主机上是有效的。 |
6453037 |
许多警告/信息消息在 Web Server 启动时显示在标准输出中而不是将这些消息路由到日志文件。 |
6549580 |
在 Windows 上运行的 Web Server 不包含服务的描述,并且在应用 Java ES Update 1 修补程序后,描述不会更新。 |
6550622 |
在将 Java ES 5 软件升级到 Java ES 5 Update 1 时,如果只升级了 Web Server,而未升级 Portal Server,Portal Server 范例会出现问题,并发生 JSF 异常。 有关更多信息,请参见兼容性问题。 |
6643821 |
SMF 命令从 startserv 和 stopserv 脚本中删除 Java ES 环境(仅限 Solaris 10)。 解决方法 在 Solaris 10 环境中设置以下 LD_LIBRARY_PATH:LD_LIBRARY_PATH=/usr/lib/mps/secv1:/usr/lib/mps:/usr/lib/mps/sasl2:$LD_LIBRARY_PATH |