简介
在本节中,用户可以找到Kong推荐的网络和防火墙配置
端口
Kong提供多个连接为了不同的功能需要
- 代理
- admin api
代理
代理端口是Kong接收外部流量的端口,这两个端口的默认值如下:
-
8000
:用于代理Http流量 -
8443
:用于代理Https流量
有关 Http/Https 监听的更多细节可以参考 proxy_listen,对于生产环境,通常将Http和Https监听端口更改为 80
和 443
,Kong还可以代理 TCP/TLS 流,默认情况下禁用流代理,通常情况下,暴露给客户端的只有代理端口
Admin API
这是Kong管理 Admin API 的端口,在生产中,该端口应启用防火墙以防止未经授权的访问
-
8001
:Admin API 端口,通过 Http 操作Kong -
8444
:Admin API 端口,通过 Https 操作Kong
防火墙
以下是推荐的防火墙配置:
- Kong后面的 upstream service 将通过 proxy_listen interface/port 值生效,用户需要根据授予 upstream service 的访问级别配置这些值
- 如果用户需要将 Admin API 绑定到公共接口(通过 admin_listen),则需要设保护,仅允许信任的客户端访问,详情可以参考 Securing the Admin API
- 用户需要打开防火墙对应的配置,例如,用户希望Kong管理
4242
端口上的流量,则需要防火墙打开该端口
透明代理
值得一提的是,透明监听可以应用于 proxy_listen
和 stream_listen
配置项,使用iptables(Linux系统)或pf(macOS/BSDs)或硬件路由器/交换机等数据包过滤,用户可以根据规则提前路由或者重定向请求,例如,目标地址是 10.0.0.1
,目标端口为 80
的请求可以重定向到 127.0.0.1
的 8000
端口,为了实现这一点,用户可以在Kong代理中添加透明代理选项,proxy_listen=8000 transparent
,这样Kong即使不直接监听这个端口,也可以正确路由去往 10.0.0.1:80 地址的请求,透明监听只能在Linux机器上使用,macOS/BSDs只支持透明代理,Linux系统用户需要用root权限运行Kong
网友评论