![带有 TCP 端口的主机信息](https://linux22.com/image/549036/%E5%B8%A6%E6%9C%89%20TCP%20%E7%AB%AF%E5%8F%A3%E7%9A%84%E4%B8%BB%E6%9C%BA%E4%BF%A1%E6%81%AF.png)
请原谅我提出这个问题,我是一名设计师,正在努力弄清可能的网络架构。我在 example.com 上有一个通配符域。客户端通过 TCP 连接到 foo.example.com:1234。处理连接的进程是否可以知道客户端连接到哪个子域?
为了更清楚:
Client -[packet]-> foo.example.com:1234 -[host,packet]-> server1.internal
我的想法是,我可以使用 HAProxy 将请求路由到正确的机器,但由于它不是 HTTP,我不确定是否可以从传入的数据包中获取子域。任何帮助都将不胜感激。
答案1
我假设您不能为子域名提供不同的 IP 地址。在这种情况下,除非协议(远高于 TCP 层)支持像 HTTP 那样发送主机名,否则答案是否定的。
如果您可以为每个子域选择不同的 IP 地址,那么这就是您的答案。