You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04迁移后syslog-ng无法连接仅支持TLS1.1的MariaDB

解决syslog-ng连接仅支持TLS 1.1的MariaDB问题

核心原因

Ubuntu 22.04默认的OpenSSL配置已禁用TLS 1.1,全局修改/etc/ssl/openssl.cnf对syslog-ng的MySQL驱动不生效,需直接在syslog-ng的SQL目标配置中指定兼容的SSL参数。

修改syslog-ng配置

在你的d_sql目标中添加SSL相关参数,强制使用TLS 1.1协议:

destination d_sql {
  sql(
          type(mysql)
          host("REDACTED") username("REDACTED") password("REDACTED")
          database("REDACTED")
          table("REDACTED")
          columns( "username" , "user_agent" )
          values("${json.username}" , "${json.user_agent}" )
          flags(dont-create-tables,explicit-commits)
          # 新增SSL配置参数
          ssl(true)
          ssl-protocol("TLSv1.1")
          ssl-cipher("DEFAULT@SECLEVEL=1")
  );
};

参数说明

  • ssl(true):启用SSL加密连接
  • ssl-protocol("TLSv1.1"):强制使用MariaDB 10.1支持的TLS 1.1协议
  • ssl-cipher("DEFAULT@SECLEVEL=1"):降低安全级别,允许TLS 1.1兼容的加密套件(Ubuntu 22.04默认安全级别2会禁用旧套件)

验证与重启

  1. 检查配置语法合法性:
syslog-ng -s
  1. 重启syslog-ng服务:
systemctl restart syslog-ng

备选方案(若上述配置不生效)

如果你的syslog-ng版本不支持ssl-protocol和ssl-cipher参数,可通过环境变量指定自定义OpenSSL配置:

  1. 创建自定义配置文件/etc/ssl/syslog-ng-openssl.cnf:
openssl_conf = default_conf

[default_conf]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
MinProtocol = TLSv1.1
CipherString = DEFAULT@SECLEVEL=1
  1. 修改syslog-ng服务文件,添加环境变量:
    编辑/lib/systemd/system/syslog-ng.service,在[Service]段加入:
Environment=OPENSSL_CONF=/etc/ssl/syslog-ng-openssl.cnf
  1. 重新加载配置并重启服务:
systemctl daemon-reload
systemctl restart syslog-ng

内容的提问来源于stack exchange,提问作者Tim Holum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 02:05:19