我有2台服务器,一台用于Graylog,另一台用于我的Python应用程序。我为他们两个都设置了letencrypt证书。我正在使用带TLS的GELF TCP和TLS来与Graylog中启用的客户端身份验证进行连接。
现在,如果禁用客户端身份验证,则会收到消息。但是,如果启用客户端身份验证,则server.log中不会出现任何错误。但是我在输入流中也看不到任何消息。
#My GELF TCP Global input settings
bind_address: 0.0.0.0
decompress_size_limit: 8388608
max_message_size: 2097152
number_worker_threads: 2
override_source: <empty>
port: 12201
recv_buffer_size: 1048576
tcp_keepalive: true
tls_cert_file: /etc/graylog/cert.pem
tls_client_auth: required
tls_client_auth_cert_file: /etc/graylog/server/trusted_clients/app_server.pem
#graypy_conn.py
import logging
import graypy
my_logger = logging.getLogger('test_logger')
my_logger.setLevel(logging.DEBUG)
handler = graypy.GELFTLSHandler(
host='graylog.example.com',
port=12201,
certfile='/letsencrypt_d/certs/domain.com/fullchain.pem',
ca_certs='/letsencrypt_d/certs/domain.com/cert.pem',
validate=True
)
my_logger.addHandler(handler)
my_logger.debug('Hello Graylog2. 1234567')