簡(jiǎn)介
在本節(jié)中晴圾,用戶可以找到Kong推薦的網(wǎng)絡(luò)和防火墻配置
端口
Kong提供多個(gè)連接為了不同的功能需要
- 代理
- admin api
代理
代理端口是Kong接收外部流量的端口醉鳖,這兩個(gè)端口的默認(rèn)值如下:
-
8000
:用于代理Http流量 -
8443
:用于代理Https流量
有關(guān) Http/Https 監(jiān)聽的更多細(xì)節(jié)可以參考 proxy_listen首昔,對(duì)于生產(chǎn)環(huán)境褒脯,通常將Http和Https監(jiān)聽端口更改為 80
和 443
虽缕,Kong還可以代理 TCP/TLS 流溶弟,默認(rèn)情況下禁用流代理女淑,通常情況下,暴露給客戶端的只有代理端口
Admin API
這是Kong管理 Admin API 的端口辜御,在生產(chǎn)中鸭你,該端口應(yīng)啟用防火墻以防止未經(jīng)授權(quán)的訪問
-
8001
:Admin API 端口,通過 Http 操作Kong -
8444
:Admin API 端口,通過 Https 操作Kong
防火墻
以下是推薦的防火墻配置:
- Kong后面的 upstream service 將通過 proxy_listen interface/port 值生效袱巨,用戶需要根據(jù)授予 upstream service 的訪問級(jí)別配置這些值
- 如果用戶需要將 Admin API 綁定到公共接口(通過 admin_listen)阁谆,則需要設(shè)保護(hù),僅允許信任的客戶端訪問愉老,詳情可以參考 Securing the Admin API
- 用戶需要打開防火墻對(duì)應(yīng)的配置场绿,例如,用戶希望Kong管理
4242
端口上的流量嫉入,則需要防火墻打開該端口
透明代理
值得一提的是焰盗,透明監(jiān)聽可以應(yīng)用于 proxy_listen
和 stream_listen
配置項(xiàng),使用iptables(Linux系統(tǒng))或pf(macOS/BSDs)或硬件路由器/交換機(jī)等數(shù)據(jù)包過濾咒林,用戶可以根據(jù)規(guī)則提前路由或者重定向請(qǐng)求熬拒,例如,目標(biāo)地址是 10.0.0.1
垫竞,目標(biāo)端口為 80
的請(qǐng)求可以重定向到 127.0.0.1
的 8000
端口澎粟,為了實(shí)現(xiàn)這一點(diǎn),用戶可以在Kong代理中添加透明代理選項(xiàng)欢瞪,proxy_listen=8000 transparent
活烙,這樣Kong即使不直接監(jiān)聽這個(gè)端口,也可以正確路由去往 10.0.0.1:80 地址的請(qǐng)求遣鼓,透明監(jiān)聽只能在Linux機(jī)器上使用啸盏,macOS/BSDs只支持透明代理,Linux系統(tǒng)用戶需要用root權(quán)限運(yùn)行Kong