在我工作的大学的数据中心,我们有一个DNS系统,用来注册我们的服务器的名称和仅供内部使用的服务地址。
通常,我们使用以下模式:
server A xxx.xxx.xxx.xxx
service CNAME server现在我们有一个服务,我们只想解析到CNAME记录,当通过HTTP访问时,而不是A记录。
这有可能吗,只使用DNS配置?
发布于 2018-09-05 01:25:31
对于某些协议(如http),您可以将服务配置为仅在客户端指定正确名称的情况下才响应;在此场景中,您将web服务器配置为只响应包含CNAME的http请求。根据这些评论,您已经知道如何这样做了。
在一些协议中,服务器仍然不知道客户端使用的名称,在这种情况下,无法阻止用户使用A记录中的名称。
我不相信你能在DNS层做到这一点。也就是说,没有可靠的方法可以使CNAME对客户端可见,并且可以解析到所需的IP地址,而没有相应的A记录对客户端也是可见的。
您能做的(我猜取决于您使用的DNS软件)是有两个A记录,它们都指向相同的IP地址,即,
server A xxx.xxx.xxx.xxx
service A xxx.xxx.xxx.xxx然后使server记录只对需要访问它的管理人员可见。您不必使用CNAME作为服务名称。唯一的问题是,确保这两个名称的IP地址始终匹配是您的责任。
https://serverfault.com/questions/929388
复制相似问题