Skip to content
All writing Part 03 of 06 · 一張遷移單背後的 PKI 與 TLS
Engineering · 1 min read

Kafka 的兩個埠:9092(明文)與 9093(加密)

Kafka broker 一個埠固定綁一種協定:9092 明文、9093 加密。沒有就地升級這回事,你連上哪個埠就決定用哪種協定,連錯門就失敗。

先鋪個底:Kafka 是一套讓服務之間互傳事件的系統,它的一個伺服器節點叫 broker;**埠(port)**則是伺服器上一個編號的連線通道。一個 broker 可以同時在好幾個埠上等連線,而每個埠都固定綁一種協定(例如 9092 走明文、9093 走加密)。

讓我意外的是:你連上哪個埠,就決定了用哪種協定。 這裡沒有「同一條連線就地升級」那回事,不像網址可以在同一條連線上從 HTTP 升到 HTTPS。明文和加密就是兩扇不同的門。

加密客戶端 帶客戶端憑證 Kafka broker :9093 加密 · mTLS :9092 明文 對上 → 連得起來 ✓ 連錯門 → 連線當下失敗 ✗
Kafka 的埠不是一扇可以就地升級的門,門本身就是協定。把加密設定丟到明文的 9092 門,會在連線當下就壞掉。
  • 內部、不需要加密的客戶端,連 9092、講明文。
  • 需要加密的客戶端,連 9093、講加密(帶客戶端憑證的雙向 TLS)。
  • 連錯門就是連線失敗。 把加密設定丟到 9092 這扇明文門,會在連線當下就壞掉,而不是你早該在讀設定時就攔下來的那種友善錯誤。

一旦上了加密那扇門,Kafka 伺服器還能依客戶端憑證上的名字管權限:送資料的一方,只能寫進它憑證被列進去的那些主題。

這次遷移裡: 整件事就是「把客戶端從 9092 指到 9093、並叫它講加密」,趕在平台團隊正式關掉舊的 9092 門之前完成。

Kafka 的埠不是一扇可以就地升級的門,門本身就是協定。一開始就挑對。


參考來源

延伸閱讀: 那扇加密的門就是雙向 TLS,而打開它只需要客戶端 SSL 設定裡的一個 if。回到總覽:一張遷移單背後的兩個 SSL

Tags #tls #kafka
// connect

Be brave | Be wise | Be grateful

21 BreakinCode

// elsewhere
LinkedInMedium (lang: en)Youtube
wh:~$William Hung· © 2026 Taipei · GMT+8 · Available for collaboration