虚拟服务器的 IP 地址?

虚拟服务器的 IP 地址?

我有一个虚拟服务器(共享主机),有一个域名(和几个子帐户,每个子帐户都是一个单独的站点,也有自己的域名)

我想知道是否有办法找出域名的 IP 地址。我尝试 ping 它,但没有成功。它只给我该域名的 IP 地址物理服务器它托管着我的虚拟域名,或者至少我是这样假设的,因为它为我拥有的每个域名提供了相同的 IP。

抱歉,虽然我不是技术新手,但我不熟悉这些服务器内容。

答案1

虚拟服务器和共享主机往往是不同的东西,尽管这不会影响我的答案。

单个服务器(物理的或虚拟的,无所谓)可以托管许多不同域的网站。

每个域名都将解析为相同的 IP 地址,即相关服务器的 IP 地址。

因此 www.example.com 解析为 198.51.100.21,但 www.example.org 也是如此。它们都托管在同一台服务器上。

因此,当您 ping www.example.com 和 www.example.org 时,您会得到相同的响应,如果它们由同一台服务器托管,那就应该如此。

注意:即使两个域名解析到不同的 IP 地址,它们也可能托管在同一台服务器上,因为一台服务器可以支持多个 IP 地址。

dig您可以使用或等工具查找服务器名称/完全限定域名/网站的 IP 地址nslookup。例如,

nslookup www.google.com

Non-authoritative answer:
www.google.com  canonical name = www.l.google.com.
Name:   www.l.google.com
Address: 74.125.113.103
Name:   www.l.google.com
Address: 74.125.113.104
Name:   www.l.google.com
Address: 74.125.113.105
Name:   www.l.google.com
Address: 74.125.113.106
Name:   www.l.google.com
Address: 74.125.113.147
Name:   www.l.google.com
Address: 74.125.113.99

当 Web 服务器托管多个网站(或域)时,服务器需要知道您要访问哪个域(名称),而 IP 地址是不够的。这就是为什么,

http://198.51.100.21/something

对于托管多个域的服务器来说,这通常是不可能的(对于网络托管服务提供商而言尤其如此)。

还有许多其他原因导致使用 IP 地址也是不合适的。

我喜欢将其想象成邮政地址。仅仅知道某人的邮政地址(如服务器 IP 地址)是不够的,您还必须知道他们的名字(如网站域名)并将其写在信件上。如果您不知道,您只知道他们的妈妈(即默认网站)会打开并阅读它。

答案2

看起来,在托管您域名的服务器上,所有托管域名都共享同一个 IP 地址,这是服务器的公共 IP 地址。为了将流量引导到特定域名的正确文件,主机正在使用基于名称的虚拟主机。如果您尝试使用 IP 地址访问任何域,您很可能只会从主机获得默认页面。

答案3

dig domain.com

将为您提供您的域名指向的 IP(如果您使用的是 Windows,则为 nslookup)

你确定你托管的“物理主机”不是你的 vps IP 吗?听起来你的提供商可能在做一些不可靠的 NAT,如果你的网站指向物理主机上的 IP,而不是虚拟机上的 IP

最简单的方法是通过 ssh 登录到你的 vps 并运行

ifconfig

这将告诉你服务器的 IP

相关内容