我已经为 mysql 复制设置了 SSL。问题是,这会给使用 mysql 的其他本地应用程序带来问题。
类似于后缀:
Jul 25 23:00:22 srv1 postfix/proxymap[3141]: warning: connect to mysql server 127.0.0.1: SSL connection error: unable to verify peer checksum
Jul 25 23:00:22 srv1 postfix/trivial-rewrite[3353]: warning: virtual_mailbox_domains: proxy:mysql:/etc/postfix/mysql-virtual_domains.cf: table lookup problem
Jul 25 23:00:22 srv1 postfix/trivial-rewrite[3353]: warning: virtual_mailbox_domains lookup failure
或 amavis:
Jul 25 23:08:12 srv1 amavis[5625]: (05625-01) (!)connect_to_sql: unable to connect to DSN 'DBI:mysql:database=dbispconfig;host=127.0.0.1;port=3306': SSL connection error: unable to verify peer checksum
还有 pureftp
Jul 25 23:02:42 srv1 pure-ftpd: (?@2a02:810c:XXXXXXXX) [ERROR] The SQL server seems to be down [SSL connection error: unable to verify peer checksum]
因为我不需要本地加密,所以我想禁用它,但我不知道该怎么做。我只为客户端设置了一个 cnf 条目:
[client]
#ssl-ca=/etc/letsencrypt/live/mydomain/chain.pem
#ssl-mode=DISABLED
ssl=0
但没有运气。对于 postfix,我在文档此说明:
Postfix 3.1 及更早版本不会读取 [client] 选项组设置,除非指定了非空的 option_file 或 option_group 值。要启用此功能,请指定,例如“option_group = client”。
所以我在所有 /etc/postfix/mysql-*.cf 文件中都添加了 option_group 语法。但重启后还是同样的问题。
当我在服务器上禁用 SSL 时,问题就消失了。但我希望使用 SSL 来确保复制的安全性。
有任何想法吗?
答案1
这里有一些想法。
- 用于
postconf
查看 Postfix 配置文件中是否存在任何输入错误或不兼容问题。当存在未使用的参数时,此实用程序会发出警告。 - 不要在服务器端强制使用 SSL。相反,应配置复制客户端以拒绝不安全的连接。
- 使用 MySQL 服务器 5.7 的功能,允许通过
CREATE USER ... REQUIRE ...
和删除每个用户的 SSL/TLS 要求ALTER USER ... REQUIRE ...
并删除本地客户端的强制性 SSL。 - 由于 postfix 使用 libmysqlclient,因此应该可以覆盖 postfix 查找 my.cnf 的位置,而改用
[mysql]
部分。应该可以通过以下方式实现此目的:MYSQL_HOME环境变量,但我怀疑尝试一下是否是个好主意:)