나는 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을 실행하고 있습니다.