授课语音

Kong 的端口号使用详解

Kong 是一个强大的开源 API 网关和微服务管理工具,提供多种功能如路由、负载均衡、认证、流量控制等。Kong 在运行时使用多个端口来处理不同的功能。下面详细介绍 Kong 的默认端口号及其用途。


1. 8000 端口(Kong Gateway Proxy Port)

功能

  • 代理端口:用于接收客户端的 API 请求,处理并将请求转发到后端服务。
  • 对外暴露:此端口通常是对外暴露的,供外部客户端直接访问。

常见场景

  • 客户端通过 8000 端口向 Kong 网关发送请求,Kong 将根据配置的路由规则将请求转发到目标后端服务。

示例

curl http://<Kong-Host>:8000/<your-api-route>

2. 8443 端口(Kong Gateway Proxy Secure Port)

功能

  • HTTPS 代理端口:提供对外的安全(HTTPS)访问。
  • TLS/SSL 支持:通过此端口可以启用加密通信,保护敏感数据。

常见场景

  • 客户端通过 HTTPS 协议访问 Kong,确保数据在传输过程中加密。

示例

curl https://<Kong-Host>:8443/<your-api-route> --insecure

3. 8001 端口(Kong Admin API Port)

功能

  • 管理端口:供管理员配置和管理 Kong 的运行行为。
  • 内部使用:此端口不应对外暴露,通常通过内网访问或受防火墙保护。

常见操作

  • 配置服务、路由、插件和负载均衡等。
  • 查询 Kong 的运行状态和统计信息。

示例

  1. 添加服务

    curl -X POST http://<Kong-Host>:8001/services \
    --data name=example-service \
    --data url=http://example.com
    
  2. 查询服务

    curl http://<Kong-Host>:8001/services
    

4. 1337 端口(Legacy/Development Port)

功能

  • 兼容端口:在某些较早版本中使用,通常作为备用开发端口。
  • 不建议生产使用:此端口一般为测试或开发环境服务,在现代版本中很少启用。

5. 自定义端口

Kong 的端口可以通过配置文件自定义修改:

  • 在 Kong 的 kong.conf 文件中设置 proxy_listenadmin_listen 参数即可调整端口号。
  • 示例
    proxy_listen = 0.0.0.0:9000
    admin_listen = 127.0.0.1:9001
    

6. 各端口的对比

端口号 功能 默认状态 访问示例
8000 HTTP 代理端口 对外暴露 http://<Kong-Host>:8000
8443 HTTPS 代理端口 对外暴露 https://<Kong-Host>:8443
8001 Admin API 管理端口 内部访问 http://<Kong-Host>:8001
1337 开发/兼容端口(旧版本) 可能启用/已废弃 http://<Kong-Host>:1337

7. 安全建议

  1. 限制 Admin API(8001 端口)的访问

    • 配置防火墙或使用 Kong 的 ACL 插件限制访问权限。
    • 禁止直接暴露到公网。
  2. 启用 HTTPS(8443 端口)

    • 使用 TLS/SSL 证书对外暴露的代理端口进行加密。
    • 确保客户端与 Kong 的通信安全。
  3. 定制端口号

    • 根据实际需求调整端口配置,避免使用默认端口号带来的安全风险。

总结

Kong 的端口分工明确,各司其职:

  • 8000/8443 用于接收和转发客户端请求。
  • 8001 用于管理和配置 Kong。
  • 1337 是旧版的开发端口,现代版本已不常用。

通过合理配置和管理这些端口,可以确保 Kong 在生产环境中的安全性和高效性。

去1:1私密咨询

系列课程: