我正在尝试在两台机器之间使用 td-agent 设置加密日志。我遵循了 fluentd 官方文档中的示例,但是我陷入了一个非常奇怪的情况。由于 shared_key 不匹配,客户端和服务器拒绝协商。
两台服务器上的关键短语都是正确的,但是客户端和服务器都表示密钥不匹配。
这是客户端配置(文本省略):
<match uwsgi.**>
type copy
<store>
type secure_forward
shared_key hello
send_timeout 30s
self_hostname client.example.net
<server>
name server.example.net
host server.example.net
port 24225
</server>
</store>
</match>
这是服务器配置:
<source>
type secure_forward
shared_key hello
self_hostname server.example.net
bind 0.0.0.0
port 24225
secure true
ca_cert_path /etc/td-agent/mycert.crt
ca_private_key_path /etc/td-agent/mykey.key
ca_private_key_passphrase ""
我不断从服务器收到这些错误消息:
Shared key mismatch from 'client.example.net'
来自客户的相同:
[warn]: dead connection found: server.example.net, reconnecting...
[warn]: connection refused to server.example.net:authentication failed: shared_key mismatch
有任何想法吗?
原来td-agent的secure_forward插件有不同的版本。
更详细地说,相关插件的最新版本(0.4.5),m 用“nonce”“加盐”密码,但以前的版本没有。因此,一个密码以不同的 sha 和结束。
两种解决方案:
1. 更新两端的secure_forward 插件
2. 删除代码中的摘要过程。