2017-07-25 66 views
0

我們在AWS上安裝單節點kafka。我們能夠在這種環境中運行卡夫卡生產者和消費者。但是,儘管我們的客戶試圖向我們的kafka代理髮送消息(AWS環境之外),但他們的消息仍然滯留在他們的防火牆中。如何在防火牆/代理服務器上配置kafka生產者?

所以客戶卡夫卡生產者是位於防火牆/代理服務器,如何使我們的客戶在他們的最終繞過代理後通過卡夫卡發送郵件設置。

回答

1

首先檢查問題確實是客戶端防火牆問題,並且與不正確的代理設置(如將私有AWS IP用作廣告監聽程序)或AWS安全規則(不允許外部計算機連接到端口9092/9093) 。最簡單的檢查方法是通過從沒有防火牆的外部主機發布自己。

,他們已經允許在端口9092(或任何你正在使用的卡夫卡)TCP連接,通過其客戶端防火牆下一步檢查。

如果這是不可能打開防火牆中的這個端口,那麼你可以考慮無論是在端口80或443的數據發送到TCP代理(如HAProxy的),因爲這些職位往往是開放的。

如果仍然不行再考慮,因爲它使用標準的HTTP(S)端口和協議應該穿越大多數客戶端的防火牆使用HTTP(S)代理像匯合REST代理髮布。

+0

我們能夠在沒有防火牆的情況下成功發佈來自外部主機的數據。 你能解釋更多的我們如何能夠將數據發送到TCP代理(如HAProxy的)上的端口80或443 – learner

+0

與此類似,但聽(綁定)到端口80或443,然後連接到9092的後端https://開頭stackoverflow.com/questions/45216724/how-to-load-balance-kafka-boostrap-with-haproxy,但是您將不得不使用kafka server.properties配置文件中的廣告偵聽器端口作爲haproxy的ip和端口 –

+0

我們可以在向kafka broker發佈消息時設置任何代理設置。 – learner

相關問題