我有多个正在运行的服务,我想通过一个端口访问它们。为了完成这样的工作,我运行了一个代理服务器,它可以根据客户端连接的 url 重定向客户端。例如,与 service1.mydomain.com 连接的客户端将被重定向到服务 1,而与 service2.mydomain.com 连接的其他人将被重定向到服务 2。我想这样做,所以我只需要转发一个端口(出于安全考虑,以及便于添加/删除服务)。
现在,我有一个指向该服务的 SRV 记录(一个子域,并且我已经验证它可以工作)。理想情况下,我想为在代理后面运行的任何和所有服务添加指向此 SRV 记录的 CNAME 记录。换句话说,如果这个服务的 ip:port 发生变化,我只想更改一条记录,因为它们都使用相同的 ip:port。这可能吗?
Minecraft 是一个很好的展示方式,所以这里有一个我不想要的例子。我想将这些服务中的每一项隐藏在一个端口和目标后面(仅使用一个 SRV 记录),而不是创建多个 SRV 记录。
注意:这些不是网络服务。我知道浏览器无法理解 SRV 记录(也不应该)。我有一个客户端应用程序可以理解从记录中获取端口号。我已经验证它在此基础上工作。
不是。CName 是 IN A. Period 的替代名称。它与 SRV 的相关性为零,特别是它是 HOST NAME 解析的一部分。此时,在 DNS 的这一部分中,没有端口的概念。
死路。
SRV 记录被固定在系统中,并未集成到 DNS 核心中。