是否可以根据请求的协议将dns路由到不同的服务器而不使用代理服务器?
例如wss://example.com转到1台服务器而https://example.com转到另一台服务器。
答案 0 :(得分:0)
原则上不,这是不可能的。虽然也有例外。
当您申请并申请网络地址时,例如example.com应用程序将(通常)将请求传递给OS以打开与该地址的连接。
因为操作系统只能连接到IP地址,所以它首先要做的是发出DNS请求以找出它可以连接的地址。根本没有机制来告诉DNS请求正在请求的协议。操作系统发出DNS请求时,简单地说,' example.com'的地址是什么?消息正文中没有空格以获取更多信息。
从这个意义上说,这是不可能的。
但是有一些服务使用SRV记录来查找他们需要连接的服务器。
在这些情况下,应用程序会告诉操作系统,让我获得_somefancyservice.example.com的SRV记录。当它具有该记录时,它将向OS发送另一个请求以打开它在SRV记录中找到的任何连接。
理论上,您可以编写一个首先执行SRV记录查询的应用程序,然后打开与返回的内容的连接。
我特意写了一篇关于wss的detailed answer,你可能会感兴趣。