SSL が必要な MySQL に postfix が接続できるようにするための正しい設定方法を見つけようとしています。これまでのところ、次の設定は機能していません。
user = mysqluser
password = XXX
hosts = secure-mysql-db.example.com
dbname = mail
query = SELECT 1 FROM users WHERE email='%s'
tls_CAfile = /path/to/mysql-ca.crt
この設定を使用すると、次のエラーが発生します
postfix/cleanup[1317842]: 警告: mysqlサーバー secure-mysql-db.example.com に接続します: SSL接続エラー: そのようなファイルまたはディレクトリはありません
確かに、ファイルにアクセスできることを確認しました。コマンドライン経由で同じ資格情報を使用して接続すると、期待どおりに動作します。
ご協力いただければ幸いです。
アップデート
確認後Postfix に MySQL 接続に TLS を使用するように強制しますか?、以下を追加しました:
user = mysqluser
password = XXX
hosts = secure-mysql-db.example.com
dbname = mail
query = SELECT 1 FROM users WHERE email='%s'
tls_ciphers = TLSv1.3
tls_CAfile = /path/to/mysql-ca.crt
現在、次のエラーが発生しています:
SSL 接続エラー: 暗号が一致しません
実際にデータベースへの接続が機能することを確認しました。
mysql -h secure-mysql-db.example.com -p -u postfix mail
MySQL [mail]> \s
--------------
mysql Ver 15.1 Distrib 10.5.15-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper
Connection id: 487933
Current database: mail
Current user: [email protected]
SSL: Cipher in use is ECDHE-RSA-AES256-GCM-SHA384
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server: MySQL
Server version: 8.0.26 MySQL Community Server - GPL
Protocol version: 10
Connection: secure-mysql-db.example.com via TCP/IP
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8mb3
Conn. characterset: utf8mb3
TCP port: 3306
Uptime: 17 days 7 hours 25 min 45 sec
私はDebian 11.5でPostfix 3.5.13を実行しています