Ssl

STARTTLS 後失去連接:後綴

  • September 11, 2019

我已經設置了一個 Postfix + Courier 伺服器,並有一個使用 SMTP 伺服器設置配置的 Rails 應用程序。每當 Rails 應用程序嘗試發送電子郵件時,就會出現在 Postfix 日誌中(在 master.cf 中設置的附加日誌詳細程度)

Feb 22 03:57:24 alpha postfix/smtpd[1601]: Anonymous TLS connection established from localhost[127.0.0.1]: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)
Feb 22 03:57:24 alpha postfix/smtpd[1601]: smtp_get: EOF
Feb 22 03:57:24 alpha postfix/smtpd[1601]: match_hostname: localhost ~? 127.0.0.0/8
Feb 22 03:57:24 alpha postfix/smtpd[1601]: match_hostaddr: 127.0.0.1 ~? 127.0.0.0/8
Feb 22 03:57:24 alpha postfix/smtpd[1601]: lost connection after STARTTLS from localhost[127.0.0.1]
Feb 22 03:57:24 alpha postfix/smtpd[1601]: disconnect from localhost[127.0.0.1]
Feb 22 03:57:24 alpha postfix/smtpd[1601]: master_notify: status 1
Feb 22 03:57:24 alpha postfix/smtpd[1601]: connection closed

關於為什麼在身份驗證後失去連接的任何想法?

也許 Rails 應用程序不信任後綴證書?

ActionMailer 已更改為更安全的預設配置,並以 TLS 模式檢查伺服器證書(從版本 2 或 3 開始)。

一些解決方案是:

  • 在應用程序中恢復舊的 Rails 行為:添加openssl_verify_mode: 'none'到 Rails 配置
  • 在伺服器上禁用 TLS:smtpd_use_tls=no在您的 Postfix 配置中設置
  • 在伺服器上設置有效的 TLS 證書,這些證書可以使用客戶端(Rails 應用程序)上的證書頒發機構進行驗證。如果它與本範例中的情況相同,這可能是矯枉過正,但對於這種配置,您需要確保 smtpd 沒有在公共埠上偵聽。

引用自:https://serverfault.com/questions/238476