我已将 Kong 配置为流式传输 53 udp。
我可以创建服务:
curl -X POST http://localhost:8001/services \
-H "Content-Type: application/json" \
-d '{"name":"jerry", "protocol":"udp", "host": "jerry-coredns", "port": 53}'
但是当尝试根据主机名创建路由时:
curl -X POST http://localhost:8001/services/jerry/routes \
-H "Content-Type: application/json" \
-d '{"name":"jerry-dns-route", "hosts": ["jerry.kong.local"], "destinations":[{"port":53}],"protocols":["udp"]}'
Kong 的回应是:
cannot set 'hosts' when 'protocols' is 'tcp', 'tls', 'tls_passthrough' or 'udp'
我们知道 UDP 协议上没有主机名标头,就像 HTTP 一样。所以问题是,像 Cloudflare 或 Amazon 这样的云提供商如何为其客户创建 DNS 服务器?我无法为每个 DNS 服务器使用有效的 IP 地址,显然如此。