Несоответствие общего ключа td-agent между серверами
Я пытаюсь установить зашифрованные журналы с помощью 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
Есть идеи?
2 ответа
Оказывается, у плагина secure_forward td-agent были разные версии.
Более подробно, последняя версия соответствующего плагина (0.4.5),m "солит" пароль с "nonce", но предыдущая версия не делает. Таким образом, один пароль заканчивается другой суммой ша.
Два решения:
1. Обновите плагин secure_forward на обоих концах
2. Удалите процедуру дайджеста в коде.
<match uwsgi.**>
type copy
<store>
type secure_forward
send_timeout 30s
self_hostname client.example.net
<server>
shared_key hello # put the same shared key
name server.example.net
host server.example.net
port 24225
</server>
</store>
</match>