今天我更改了 Postfix main.cf 檔案中的 TLS 憑證路徑。結果這些道路被打破了。
幾分鐘後,Postfix 讀取了這些變更的路徑,我的 TLS 連線中斷(由於路徑損壞)。
問題 1:為什麼 Postfix 會自動讀取 main.cf 檔案中的變更?有記錄嗎?我找不到任何有關它的資訊。
問題 2:我可以關閉此行為嗎?我希望 Postfix 在重新載入服務後替換證書,而不是即時替換。
謝謝
答案1
拾取更改是按設計大多數 Postfix 元件中的標準流程。事實上,Postfix 的許多部分明確允許在任何時候將正在運行的進程替換為新進程。許多配置參數設定為最終自動生效 - 無論是否有手動幹預(reload
)。
對 main.cf 的變更會自動生效,因為 smtpd(8) 進程僅執行有限的時間。使用命令“postfix reload”來加速更改。 -男人 8 smtpd
如果管理證書的方式導致不希望進行此類重新加載,建議您將證書和匹配密鑰一起放在文件中,僅在此類重新加載操作安全時才更改這些文件。
對於 Postfix ≥ 3.4,設定伺服器金鑰和憑證的首選方法是透過「smtpd_tls_chain_files」參數。 -人 5 會議後
請參閱參數的文件smtpd_tls_chain_files
以取得更多說明。
答案2
當您進行設定時,Postfix 很可能會重新啟動或收到 SIGHUP 訊號。
守護程式重新啟動/重新載入的一個常見原因是 logrotate:它可能會重新啟動/重新載入服務,以便它們在日誌輪轉後重新開啟其設定檔。
也有可能 Postfix 因為其他原因崩潰並被 systemd 重新啟動。
我建議您在 Postfix 宕機時檢查您的日誌中是否有其他事件(cron 作業運行等)。