[comment]: # ({d7dd05a7-ad64ebf5})
# 3 排错

[comment]: # ({/d7dd05a7-ad64ebf5})

[comment]: # ({e4938fcb-385ec312})
#### 一般建议

-   从理解开始，哪个组件充当TLS客户端，哪个组件充当问题的TLS服务器。\
    Zabbix server, proxies and
    agents，取决于它们之间的交互，都可以作为TLS服务器和客户端。\
    例如，Zabbix
    server连接到agent进行被动检查，充当TLS客户端。该agent是TLS服务器的角色。\
    Zabbix
    agent，请求从proxy的主动检查列表，充当TLS客户端。prox服务器是TLS服务器。\
    `zabbix_get`并且`zabbix_sender`程序始终作为TLS客户端。

\* Zabbix使用相互验证。\
每一方验证对方，并可拒绝连接。\
例如，如果agent的证书无效，则连接到agent的Zabbix
server可以立即关闭连接。反之亦然 - 如果服务器不被agent信任，Zabbix
agent可关闭来自服务器的连接。

-   检查双方的日志文件 - 在TLS客户端和TLS服务器中。\
    拒绝连接的一方可能会记录为什么被拒绝的准确理由。其他方面经常报告相当普遍的错误（例如"Connection
    closed by peer", "connection was non-properly terminated"）。

```{=html}
<!-- -->
```
-   有时配置错误的加密会导致混淆的错误消息，而不会指向真正的原因。\
    在下面的小节中，我们尝试提供一个（简单的）的消息收集和可能有助于故障排除的可能原因。\
    请注意，不同的加密工具包（OpenSSL，GnuTLS，mbed
    TLS（PolarSSL））在相同的问题情况下经常产生不同的错误消息。\
    有时错误消息甚至依赖于两端的密码工具包的特定组合。

[comment]: # ({/e4938fcb-385ec312})
