第 7 章 日志文件参考
红帽目录服务器(目录服务器)提供有助于监控目录活动的日志。监控功能有助于快速检测和修复故障,并在问题发生的情况下被主动处理、分析并解决潜在问题,从而导致故障或性能不佳。有效地监控 目录的部分在于了解日志文件的结构和内容。
本章未提供日志消息的详细列表。但是,本章中介绍的信息可作为常见问题的良好起点,并更好地了解访问、错误和审计日志中的信息。
日志按 Directory 服务器实例保留,位于 /var/log/dirsrv/slapd-实例
目录中。
7.1. 访问日志参考
目录服务器访问日志包含有关到目录的客户端连接的详细信息。连接是来自同一客户端的一系列请求,其结构如下:
- 连接记录,提供连接索引和客户端 IP 地址
- 绑定记录
- 绑定结果记录
- 操作请求和操作结果对记录序列,或者在连接、关闭和带外记录时对个别记录进行反对
- unbind 记录
- 关闭记录
以下是访问日志条目示例:
[23/Jun/2020:16:30:27.388006333 -0400] conn=20 op=5 SRCH base="dc=example,dc=com" scope=2 filter="(&(objectClass=top)(objectClass=ldapsubentry)(objectClass=passwordpolicy))" attrs="distinguishedName"
除了单独出现的连接、关闭和带外记录外,所有记录都会出现在对中,由服务记录请求以及 RESULT
记录:
[23/Jun/2020:16:30:27.390881301 -0400] conn=20 op=5 RESULT err=0 tag=101 nentries=0 wtime=0.000035342 optime=0.002877749 etime=0.002911121
RESULT
消息包含以下与性能相关的条目:
-
wtime
:在 worker 线程获取操作前,操作在工作队列中等待的时间 -
optime
:执行任务的实际操作所需的时间 -
etime
:已经过的时间,这涵盖了服务器在服务器将结果发回到客户端时服务器接收操作的时间
wtime
和 optime
值提供有关服务器如何处理负载和进程操作的有用信息。由于 Directory 服务器收集这些统计数据的时间,wtime
和 optime
值的总和比 etime
值稍大。但是,这种差异非常小。
访问日志具有不同的日志记录级别,在 nsslapd-accesslog-level
属性中设置。以下小节概述了默认访问日志记录内容、日志级别和在不同日志记录级别记录的内容:
请注意,您无法更改访问日志的格式。
7.1.1. 访问日志记录级别
不同的访问日志级别会生成不同数量的详情,并记录不同类型的操作。日志级别在实例的 第 3.1.1.2 节 “nsslapd-accesslog-level(Access Log Level)” 配置属性中设置。默认的日志记录级别是 256 级,它的日志访问一个条目,但有 4 个不同的日志级别可用:
- 0 = 无访问日志。
- 4 = 内部访问操作的日志记录。
- 256 = 用于访问条目的日志记录。
- 512 = 用于访问条目的日志记录和引用.
这个级别是添加的,因此要启用多种不同类型的日志记录,将那些级别的值一起添加。例如,要记录内部访问操作、条目访问和引用,将 nsslapd-accesslog-level
的值设置为 516
(512
+4
)。
7.1.2. 默认访问日志内容
本节介绍了基于以下默认访问日志记录级别提取的访问日志内容。
例 7.1. 访问日志示例
[21/Apr/2020:11:39:51 -0700] conn=11 fd=608 slot=608 connection from 207.1.153.51 to 192.18.122.139 [21/Apr/2020:11:39:51 -0700] conn=11 op=0 BIND dn="cn=Directory Manager" method=128 version=3 [21/Apr/2020:11:39:51 -0700] conn=11 op=0 RESULT err=0 tag=97 nentries=0 etime=0 [21/Apr/2020:11:39:51 -0700] conn=11 op=1 SRCH base="dc=example,dc=com" scope=2 filter="(mobile=+1 123 456-7890)" [21/Apr/2020:11:39:51 -0700] conn=11 op=1 RESULT err=0 tag=101 nentries=1 etime=3 notes=U [21/Apr/2020:11:39:51 -0700] conn=11 op=2 UNBIND [21/Apr/2020:11:39:51 -0700] conn=11 op=2 fd=608 closed - U1 [21/Apr/2020:11:39:52 -0700] conn=12 fd=634 slot=634 connection from 207.1.153.51 to 192.18.122.139 [21/Apr/2020:11:39:52 -0700] conn=12 op=0 BIND dn="cn=Directory Manager" method=128 version=3 [21/Apr/2020:11:39:52 -0700] conn=12 op=0 RESULT err=0 tag=97 nentries=0 etime=0 [21/Apr/2020:11:39:52 -0700] conn=12 op=1 SRCH base="dc=example,dc=com" scope=2 filter="(uid=bjensen)" [21/Apr/2020:11:39:52 -0700] conn=12 op=2 ABANDON targetop=1 msgid=2 nentries=0 etime=0 [21/Apr/2020:11:39:52 -0700] conn=12 op=3 UNBIND [21/Apr/2020:11:39:52 -0700] conn=12 op=3 fd=634 closed - U1 [21/Apr/2020:11:39:53 -0700] conn=13 fd=659 slot=659 connection from 207.1.153.51 to 192.18.122.139 [21/Apr/2020:11:39:53 -0700] conn=13 op=0 BIND dn="cn=Directory Manager" method=128 version=3 [21/Apr/2020:11:39:53 -0700] conn=13 op=0 RESULT err=0 tag=97 nentries=0 etime=0 [21/Apr/2020:11:39:53 -0700] conn=13 op=1 EXT oid="2.16.840.1.113730.3.5.3" [21/Apr/2020:11:39:53 -0700] conn=13 op=1 RESULT err=0 tag=120 nentries=0 etime=0 [21/Apr/2020:11:39:53 -0700] conn=13 op=2 ADD dn="cn=Sat Apr 21 11:39:51 MET DST 2020,dc=example,dc=com" [21/Apr/2020:11:39:53 -0700] conn=13 op=2 RESULT err=0 tag=105 nentries=0 etime=0 csn=3b4c8cfb000000030000 [21/Apr/2020:11:39:53 -0700] conn=13 op=3 EXT oid="2.16.840.1.113730.3.5.5" [21/Apr/2020:11:39:53 -0700] conn=13 op=3 RESULT err=0 tag=120 nentries=0 etime=0 [21/Apr/2020:11:39:53 -0700] conn=13 op=4 UNBIND [21/Apr/2020:11:39:53 -0700] conn=13 op=4 fd=659 closed - U1 [21/Apr/2020:11:39:55 -0700] conn=14 fd=700 slot=700 connection from 207.1.153.51 to 192.18.122.139 [21/Apr/2020:11:39:55 -0700] conn=14 op=0 BIND dn="" method=sasl version=3 mech=DIGEST-MD5 [21/Apr/2020:11:39:55 -0700] conn=14 op=0 RESULT err=14 tag=97 nentries=0 etime=0, SASL bind in progress [21/Apr/2020:11:39:55 -0700] conn=14 op=1 BIND dn="uid=jdoe,dc=example,dc=com" method=sasl version=3 mech=DIGEST-MD5 [21/Apr/2020:11:39:55 -0700] conn=14 op=1 RESULT err=0 tag=97nentries=0 etime=0 dn="uid=jdoe,dc=example,dc=com" [21/Apr/2020:11:39:55 -0700] conn=14 op=2 UNBIND [21/Apr/2020:11:39:53 -0700] conn=14 op=2 fd=700 closed - U1
连接号
每个外部 LDAP 请求都以增量连接号列出,在这种情况下为 conn=11
,在服务器启动后立即从 conn=0
开始。
[21/Apr/2020:11:39:51 -0700] conn=11
fd=608 slot=608 connection from 207.1.153.51 to 192.18.122.139
默认情况下,内部 LDAP 请求不会记录在访问日志中。要激活内部访问操作的日志,在 第 3.1.1.2 节 “nsslapd-accesslog-level(Access Log Level)” 配置属性中指定访问日志级别 4
。
file Descriptor
从外部 LDAP 客户端到 Directory 服务器的每个连接都需要操作系统中的文件描述符或套接字描述符,在本例中是 fd=608
。fd=608
表示该文件在所用可用文件描述符总数中都是文件描述符编号 608 的文件描述符。
[21/Apr/2020:11:39:51 -0700] conn=11 fd=608
slot=608 connection from 207.1.153.51 to 192.18.122.139
插槽号
这里的插槽号(本例中为 slot=608
)是访问日志的旧部分,其含义与文件描述符相同。忽略该部分访问日志。
[21/Apr/2020:11:39:51 -0700] conn=11 fd=608 slot=608
connection from 207.1.153.51 to 192.18.122.139
操作号
为处理给定的 LDAP 请求,目录服务器将执行所需的一系列操作。对于给定的连接,所有操作请求和操作结果对都以 op=0
开头的增量操作数来标识正在执行的不同操作。
[21/Apr/2020:11:39:51 -0700] conn=11 op=0
RESULT err=0 tag=97 nentries=0 etime=0
在 第 7.1.2 节 “默认访问日志内容” 中,我们为 bind 操作请求和结果对有 op=0
,然后为 LDAP 搜索请求和结果对有 op=1
,以此类推。访问日志中的条目 op=-1
通常并不是外部 LDAP 客户端发出的 LDAP 请求,而是在内部启动。
方法类型
在这种情况下,方法
编号表示客户端使用了哪个 LDAPv3 绑定方法。
[21/Apr/2020:11:39:51 -0700] conn=11 op=0 BIND dn="cn=Directory Manager" method=128
version=3
有三种可用的绑定方法值:
-
0
用于身份验证 -
128
对于使用用户密码进行简单绑定 -
SASL
为 SASL 绑定使用外部身份验证机制
版本号
在这种情况下,版本=3
的版本号表示 LDAP 客户端与 LDAP 服务器通信的 LDAP 版本号(LDAPv2 或 LDAPv3)。
[21/Apr/2020:11:39:51 -0700] conn=11 op=0 BIND dn="cn=Directory Manager" method=128 version=3
错误号
本例中为 err=0
时会提供从 LDAP 操作返回的 LDAP 结果代码。LDAP 错误编号 0
表示操作成功。有关 LDAP 结果代码的完整列表,请参阅 第 7.4 节 “LDAP 结果代码”。
[21/Apr/2020:11:39:51 -0700] conn=11 op=0 RESULT err=0
tag=97 nentries=0 etime=0
标签号
在本例中,标签
编号表示返回的结果类型,几乎总是反映执行的操作类型。使用的标签是来自 LDAP 协议的 BER 标签。
[21/Apr/2020:11:39:51 -0700] conn=11 op=0 RESULT err=0 tag=97
nentries=0 etime=0
标签 | 描述 |
---|---|
tag=97 | 客户端绑定操作的结果。 |
tag=100 | 正在搜索的实际条目。 |
tag=101 | 搜索操作的结果。 |
tag=103 | 修改操作的结果。 |
tag=105 | 添加操作的结果。 |
tag=107 | 删除操作的结果。 |
tag=109 | moddn 操作的结果。 |
tag=111 | 比较操作的结果。 |
tag=115 | 当执行搜索的条目中包含对所需条目的引用时,搜索引用。搜索引用以引用形式表示。 |
tag=120 | 延长操作的结果。 |
tag=121 | 来自中间操作的结果。 |
tag=100
和 tag=115
不会导致标签,因此不太可能在访问日志中记录它们。
条目数
nentries
显示条目数(本例中为 nentries=0
),找到与 LDAP 客户端请求匹配的条目数。
[21/Apr/2020:11:39:51 -0700] conn=11 op=0 RESULT err=0 tag=97 nentries=0
etime=0
已经过的时间
etime
显示已经过的时间,本例中为 etime=3
,或者目录服务器执行 LDAP 操作所需的时间(以秒为单位)。
[21/Apr/2020:11:39:51 -0700] conn=11 op=1 RESULT err=0 tag=101 nentries=1 etime=3
notes=U
etime
值为 0
表示操作实际占用了 0 纳秒。
LDAP 请求类型
LDAP 请求类型表示 LDAP 客户端发布的 LDAP 请求类型。可能的值有:
-
用于搜索的
SRCH
-
修改的
MOD
-
DEL
for delete -
添加的
ADD
-
moddn 的
MODDN
-
用于扩展操作的
EXT
-
用于带操作的
ABANDON
如果 LDAP 请求生成了条目排序,则会在日志中记录消息 SORT serialno
,后跟排序的候选条目数。例如:
[04/May/2020:15:51:46 -0700] conn=114 op=68 SORT serialno (1)
用括号括起的数字指定排序的候选条目数,本例中为 1
。
LDAP 响应类型
LDAP 响应类型表示 LDAP 客户端发出的 LDAP 响应。有三个可能的值:
-
结果
-
ENTRY
-
REFERRAL
, LDAP 引用或搜索参考
搜索Indicators
目录服务器在日志条目的备注字段中 提供有关
搜索的额外信息。例如:
[21/Apr/2016:11:39:51 -0700] conn=11 op=1 RESULT err=0 tag=101 nentries=1 etime=3 notes=U
存在以下搜索指示符:
- paged Search Indicator:
notes=P
具有有限资源的 LDAP 客户端可以控制 LDAP 服务器返回搜索操作结果的速度。当执行搜索时,当使用 LDAP 控制扩展来简单分页搜索结果时,Directory 服务器会记录
notes=P
paged 搜索指示器。这个指标是信息,不需要进一步的操作。如需了解更多详细信息,请参阅 RFC 2696。
- unindexed Search Indicators:
notes=A
andnotes=U
如果没有索引属性,Directory 服务器必须直接将它们搜索到数据库中。与搜索索引文件相比,这个过程比搜索资源要高得多。
以下未索引的搜索指示符可以记录:
notes=A
过滤器中的所有候选属性都未索引,需要完整表扫描。这可能会超过
nsslapd-lookthroughlimit
参数中设置的值。notes=U
在以下情况下设定此状态:
- 至少一个搜索条款是未索引的。
在搜索操作中达到
nsslapd-idlistscanlimit
参数中设置的限制。详情请查看 第 4.4.1.9 节 “nsslapd-idlistscanlimit”。在以下情况下进行未索引搜索:
-
在用于搜索的索引文件中达到
nsslapd-idlistscanlimit
参数的值。 - 没有索引文件。
搜索不需要的方式配置索引文件。
要优化将来的搜索,请在索引中添加经常搜索未索引的属性。详情请查看 Directory Server Administration Guide 中的对应部分。
注意一个未索引的搜索指示符通常是一个大型的
etime
值,因为未索引搜索通常更为耗时。
在单个值外,备注
字段可以具有以下值组合: notes=P,A
and notes=U,P
。
VLV-Related Entries
当搜索涉及虚拟列表视图(VLV)时,在访问日志文件中记录相应的条目。与其他条目类似,VLV 特定条目会排显示请求和响应信息:
VLV RequestInformation ResponseInformation
RequestInformation 有以下形式:
beforeCount:afterCount:index:contentCount
如果客户端使用位置-值 VLV 请求,则第一个部分的格式是 beforeCount: afterCount: value。
ResponseInformation 有以下形式:
targetPosition:contentCount (resultCode)
以下示例重点介绍了特定于 VLV 的条目:
[07/May/2020:11:43:29 -0700] conn=877 op=8530 SRCH base="(ou=People)" scope=2 filter="(uid=*)"
[07/May/2020:11:43:29 -0700] conn=877 op=8530 SORT uid
[07/May/2020:11:43:29 -0700] conn=877 op=8530 VLV 0:5:0210 10:5397 (0
)
[07/May/2020:11:43:29 -0700] conn=877 op=8530 RESULT err=0 tag=101 nentries=1 etime=0
在上例中,第一部分为 0:5:0210
,是 VLV 请求信息:
-
beforeCount 是
0。
-
afterCount 是
5
。 -
值为
0210
。
第二部分 10:5397(0)
是 VLV 响应信息:
-
targetPosition 为
10
。 -
contentCount 为
5397
。 -
(结果代码)是
(0)
。
搜索范围
条目 scope=n
定义已执行搜索的范围,n
的值为 0
、1
或 2
。
-
0
代表基本搜索 -
1
表示单级别搜索 -
2
用于子树搜索
Extended Operation OID
例 7.1 “访问日志示例” 中的扩展操作 OID,如 EXT oid="2.16.840.1.113730.3.5.3"
或 EXT oid="2.16.840.1.113730.3.5.5"
,提供正在执行的扩展操作的 OID。表 7.2 “Directory Server 支持的 LDAPv3 扩展操作” 提供 LDAPv3 扩展操作部分列表以及目录服务器中支持的 OID。
扩展的操作名称 | 描述 | OID |
---|---|---|
目录服务器启动复制请求 | 由复制程序发送,以指示请求复制会话。 | 2.16.840.1.113730.3.5.3 |
目录服务器复制响应 | 由复制响应器发送,以响应 Start Replication Request Extended Operation 或 End Replication Request Extended Operation。 | 2.16.840.1.113730.3.5.4 |
目录服务器结束复制请求 | sent 以指示要终止复制会话。 | 2.16.840.1.113730.3.5.5 |
目录服务器复制条目请求 |
传输一个条目,及其状态信息( | 2.16.840.1.113730.3.5.6 |
目录服务器 Bulk Import Start | 由客户端发送以请求批量导入,且后缀被导入到,并由服务器发送以表示批量导入可能开始。 | 2.16.840.1.113730.3.5.7 |
目录服务器 Bulk Import Finished | 客户端发送以向批量导入和发送服务器发送的信号发送以进行确认。 | 2.16.840.1.113730.3.5.8 |
更改序列号
在这个特定命名上下文上,更改序列号(本例中为 csn=3b4c8cfb000000030000
)是复制序列号。
abandon Message
abandon 消息表示操作已被中止。
[21/Apr/2020:11:39:52 -0700] conn=12 op=2 ABANDON targetop=1 msgid=2 nentries=0 etime=0
nentries=0
表示在操作被中止前发送的条目数量,etime=0
值指示已过的时间(以秒为单位),targetop=1
对应于之前启动的操作操作值(在访问日志早期出现在访问日志中)。
根据消息 ID 在找到哪个操作被中止时,有两个可能的 ABANDON
消息。如果消息 ID 成功查找操作( targetop
),则日志将如上所示。但是,如果消息 ID 没有成功查找操作,或者操作已在发送 ABANDON
请求前完成,则日志将如下所示:
[21/Apr/2020:11:39:52 -0700] conn=12 op=2 ABANDON targetop=NOTFOUND msgid=2
targetop=NOTFOUND
表示中止的操作是未知的操作或已经完成。
消息 ID
在本例中,消息 ID 是 LDAP 操作标识符,由 LDAP SDK 客户端生成。消息 ID 可能没有与操作编号不同的值,但标识同样的操作。消息 ID 与
ABANDON
操作一起使用,并告知用户客户端操作被取消。
[21/Apr/2020:11:39:52 -0700] conn=12 op=2 ABANDON targetop=NOTFOUND msgid=2
Directory Server 操作号从 0 开始计算,在大多数 LDAP SDK/client 实施中,消息 ID 号以 1 开始计数,它解释了消息 ID 经常等于目录服务器操作号加 1。
SASL 多阶段绑定日志记录
在 Directory 服务器中,多阶段绑定的日志记录是显式的。绑定进程中的每个阶段都会被记录。这些 SASL 连接的错误代码实际上是返回代码。在 例 7.1 “访问日志示例” 中,SASL 绑定当前正在进行中,它带有 err=14
的返回代码,这意味着连接仍然处于打开状态,且存在对应的进度声明( SASL 在进行中绑定)。
[21/Apr/2020:11:39:55 -0700] conn=14 op=0 BIND dn="" method=sasl version=3 mech=DIGEST-MD5 [21/Apr/2020:11:39:55 -0700] conn=14 op=0 RESULTerr=14
tag=97 nentries=0 etime=0,SASL bind in progress
在日志记录 SASL 绑定中,sasl
方法后是 LDAP 版本号 和使用 SASL 机制的 SASL 机制,如 GSS-API 机制所示。
[21/Apr/2020:12:57:14 -0700] conn=32 op=0 BIND dn=""method=sasl
version=3mech=GSSAPI
现在,与绑定请求行相比,验证的 DN(用于访问控制决策的 DN)记录在 BIND 结果中,与绑定请求行不同:
[21/Apr/2020:11:39:55 -0700] conn=14 op=1 RESULT err=0 tag=97 nentries=0 etime=0 dn="uid=jdoe,dc=example,dc=com"
对于 SASL 绑定,服务器不使用绑定请求行中显示的 DN 值,因此不相关。但是,如果经过身份验证的 DN 是 SASL 绑定的 DN,必须用于审核,这一点非常重要。在绑定结果行中记录了一个经过身份验证的 DN,可以避免在哪个 DN 中产生任何混淆。
7.1.3. 访问其他访问日志级别的日志内容
本节提供 Directory Server 访问日志中的其他访问日志记录级别。
在 例 7.2 “使用内部访问操作级别访问日志提取(级别 4)” 中,启用了记录内部操作的日志记录级别 4
。
例 7.2. 使用内部访问操作级别访问日志提取(级别 4)
[12/Jul/2020:16:45:46 +0200] conn=Internal op=-1 SRCH base="cn=\22dc=example,dc=com\22,cn=mapping tree,cn=config"scope=0 filter="objectclass=nsMappingTree"attrs="nsslapd-referral" options=persistent [12/Jul/2020:16:45:46 +0200] conn=Internal op=-1 RESULT err=0 tag=48 nentries=1etime=0 [12/Jul/2020:16:45:46 +0200] conn=Internal op=-1 SRCH base="cn=\22dc=example,dc=com\22,cn=mapping tree,cn=config"scope=0 filter="objectclass=nsMappingTree" attrs="nsslapd-state" [12/Jul/2020:16:45:46 +0200] conn=Internal op=-1 RESULT err=0 tag=48 nentries=1etime=0
除了正在执行搜索的详情外,访问日志级别 4
还支持内部操作(日志搜索基础、范围、过滤器和请求的搜索属性)。
在以下示例中,启用 768 的访问级别 768
(512 + 256),其日志可以访问条目和引用。在本提取中,对搜索请求返回六个条目和一个引用,这在第一行中显示。
[12/Jul/2020:16:43:02 +0200] conn=306 fd=60 slot=60 connection from 127.0.0.1 to 127.0.0.1 [12/Jul/2020:16:43:02 +0200] conn=306 op=0 SRCH base="dc=example,dc=com" scope=2 filter="(description=*)" attrs=ALL [12/Jul/2020:16:43:02 +0200] conn=306 op=0 ENTRY dn="ou=Special [12/Jul/2020:16:43:02 +0200] conn=306 op=0 ENTRY dn="cn=Accounting Managers,ou=groups,dc=example,dc=com" [12/Jul/2020:16:43:02 +0200] conn=306 op=0 ENTRY dn="cn=HR Managers,ou=groups,dc=example,dc=com" [12/Jul/2020:16:43:02 +0200] conn=306 op=0 ENTRY dn="cn=QA Managers,ou=groups,dc=example,dc=com" [12/Jul/2020:16:43:02 +0200] conn=306 op=0 ENTRY dn="cn=PD Managers,ou=groups,dc=example,dc=com" [12/Jul/2020:16:43:02 +0200] conn=306 op=0 ENTRY dn="ou=Red Hat Servers,dc=example,dc=com" [12/Jul/2020:16:43:02 +0200] conn=306 op=0 REFERRAL
连接描述
连接描述(本例中为 conn=Internal
)表示连接是一个内部连接。操作号 op=-1
也表示在内部启动操作。
[12/Jul/2020:16:45:46 +0200] conn=Internal
op=-1 ENTRY dn="cn=\22dc=example,dc=com\22,cn=mapping tree,cn=config"
选项描述
选项描述(options=persistent
)表示正在执行持久搜索,与常规的搜索操作区分开来。持久性搜索可用作监控和配置的一种形式,以在发生更改时返回对给定配置的更改。
本例中都启用了日志级别 512
和 4
,因此内部访问操作和条目访问以及被记录引用。
[12/Jul/2020:16:45:46 +0200] conn=Internal op=-1 SRCH base="cn=\22dc=example,dc=com\22,cn=mapping tree,cn=config"scope=0 filter="objectclass=nsMappingTree"attrs="nsslapd-referral" options=persistent
7.1.4. 常见连接代码
连接代码是添加到 关闭
日志消息中的代码,以提供与连接冲突相关的其他信息。
连接代码 | 描述 |
---|---|
A1 | 客户端中止连接。 |
B1 | 遇到损坏 BER 标签.如果 BER 标签(封装通过线上发送的数据)在收到时损坏,则 B1 连接代码会记录到访问日志。因为物理层网络问题或 LDAP 客户端操作不当,BER 标签可能会被破坏,例如 LDAP 客户端在收到所有请求结果前中止。 |
B2 |
BER 标签大于 |
B3 | 遇到损坏 BER 标签. |
B4 | 服务器无法刷新到客户端的数据响应。 |
P2 | 已检测到关闭或损坏连接。 |
T1 |
客户端不会在指定的 |
T2 |
在超过 |
U1 | 在客户端发送未绑定请求后服务器关闭连接。当服务器看到一个未绑定请求时,该服务器将始终关闭连接。 |