Ruby TCPSocket服务器-我可以告诉客户机连接到哪个主机吗?
我有一个基于TCPSocket(非HTTP)的ruby服务器 我有两个不同的域,都用A记录指向我的服务器IP地址(同一个)。因此,有一些客户端连接到其中一个域。 可以告诉客户机连接到哪个域吗Ruby TCPSocket服务器-我可以告诉客户机连接到哪个主机吗?,ruby,sockets,tcpsocket,Ruby,Sockets,Tcpsocket,我有一个基于TCPSocket(非HTTP)的ruby服务器 我有两个不同的域,都用A记录指向我的服务器IP地址(同一个)。因此,有一些客户端连接到其中一个域。 可以告诉客户机连接到哪个域吗 我看到这在其他协议中是可能的,但我不确定这是基于手动添加的头还是从基本tcp/ip连接中提取的。例如,在PHP中,有一个$\u服务器[“HTTP\U主机”]显示客户端连接到哪个域。在TCP套接字级别,唯一已知的是连接的源和目标IP地址(和端口)。在这一层,无法知道IP地址是如何通过DNS解析的。即使HTTP
我看到这在其他协议中是可能的,但我不确定这是基于手动添加的头还是从基本tcp/ip连接中提取的。例如,在PHP中,有一个
$\u服务器[“HTTP\U主机”]
显示客户端连接到哪个域。在TCP套接字级别,唯一已知的是连接的源和目标IP地址(和端口)。在这一层,无法知道IP地址是如何通过DNS解析的。即使HTTP在TCP之上工作,HTTP服务器也必须查看来自客户端的HTTP头,以了解它们向哪个域发出请求。(这就是填写HTTP_主机值的方式。)
一种可能的解决方案是将服务器配置为具有附加IP地址。这可以通过为NIC分配额外的IP地址或添加额外的NIC来实现。然后让每个域使用不同的IP地址。否则,这是不可能的,您可能需要考虑在TCP之上的应用协议来传递这些信息。