Tôi có một Postfix Ubuntu VM hoạt động như một máy chủ chuyển tiếp thư, chấp nhận thư trên cổng 25 và chuyển tiếp thư đó tới Microsoft Exchange trực tuyến để gửi. Điều này đã được làm việc tốt trong nhiều tháng.
Bây giờ tôi cần cho phép ứng dụng khách SMTP, phải sử dụng TLS, cũng gửi e-mail qua chuyển tiếp. Tôi đã thêm phần sau vào Postfix main.cf của mình:
smtpd_tls_security_level = có thể
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1
smtpd_tls_chain_files =
${cert_path}/cert.pem,
${cert_path}/chain.pem
Tuy nhiên, khi tôi thử swaks với cờ --tls-on-connect, tôi nhận được thông báo "Kết nối bị từ chối" trên các cổng 465 và 587. Công cụ cổng 25 không được mã hóa cũ vẫn hoạt động. Các tệp pem được tạo bởi Let's Encrypt và các bộ phận truy cập khóa riêng hoạt động để mã hóa thư gửi đi tới Exchange trực tuyến. Tôi đã xác minh chúng với:
openssl verify -mục đích sslserver -partial_chain -CAfile /etc/letsencrypt/live/<máy chủ FQDN>/chain.pem /etc/letsencrypt/live/<máy chủ FQDN>/cert.pem
Tuy nhiên, khi tôi cố tạo kết nối TLS từ ứng dụng khách SMTP, điều này sẽ xuất hiện trong nhật ký:
Ngày 18 tháng 3 14:41:49 hermes postfix/smtpd[578652]: cảnh báo: lỗi tải chuỗi từ /etc/letsencrypt/live/<server FQDN>/cert.pem: key not first
Ngày 18 tháng 3 14:41:49 hermes postfix/smtpd[578652]: cảnh báo: lỗi khi tải khóa cá nhân và chứng chỉ từ: /etc/letsencrypt/live/<server FQDN>/cert.pem,?/etc/letsencrypt/live/< máy chủ FQDN>/chain.pem: tắt hỗ trợ TLS
Tôi cho rằng câu hỏi mà tôi đang gặp phải là cách sử dụng chứng chỉ Let's Encrypt SSL để kích hoạt TLS trên máy chủ chuyển tiếp thư của tôi.