【问题标题】:Does sharing the same IP necessarily mean sharing the same server?共享同一个IP一定意味着共享同一个服务器吗?
【发布时间】:2014-10-24 02:27:11
【问题描述】:

我很好奇为什么共享服务器上的一个客户端站点性能很差,我想知道是否有办法找出有多少其他站点托管在同一台服务器上。我找到了这个反向 IP 查找站点:

http://reverseip.domaintools.com/

声称客户的站点 IP 也被 3000 多个其他站点使用。我对其他客户的网站进行了快速调查,结果是第二接近的两倍多,大多数在 800 - 1500 范围内。

这是否意味着一台服务器上托管了 3000 多个站点,或者仍然有多个服务器共享一个 IP?基本上我想知道这是否是网站运行缓慢的主要原因。

【问题讨论】:

    标签: web hosting


    【解决方案1】:

    在公共互联网上,共享同一个 IP 地址并不意味着共享同一个物理服务器。以下是共享 IP 并在不同物理服务器上处理的方法:

    1. 大多数情况下,公共 IP 地址由负载均衡器、反向代理或网关连接。然后,该设备将连接路由(技术代理)到在它们后面运行的物理服务器之一。所有这些都在“服务”组织的防火墙/网络/数据中心内。 除非设计(或设计不当)来显示有关内部 IP 地址的信息,否则无法确定实际处理请求的物理设备的 IP 地址。
    2. Anycast 允许您在不同的地理位置使用相同的 IP 地址。查看Google's DNS servers(IP 地址 8.8.8.8)。此类服务是任播的,从最近的地理位置提供服务。

    从服务器的角度来看也是如此。服务器不一定知道发起请求的“原始”IP 地址。大多数情况下,我们被我们家和办公室的路由器和其他设备代理和/或NAT'ed。毕竟,可用的公共 IP 地址只有这么多(至少是 IPv4),而且我们不能为每台设备拥有一个公共 IP 地址 :)。

    结束语:服务器和客户端只知道对方网络的入口/出口点。除此之外,他们不知道物理设备的内部 IP 地址。

    【讨论】:

      【解决方案2】:

      是的,很可能就是这个意思。这很常见,并且是向您出售托管服务的公司甚至可以赚取利润的唯一途径。

      这是通过 Web 服务器中的虚拟主机支持来完成的。这依赖于 DNS 和浏览器/客户端向服务器提供引用 URL 作为 HTTP 请求的一部分。 HTTP 服务器然后知道客户端认为他从谁请求 URI,并将请求映射到该站点树。这些树通常位于同一个磁盘上,尽管这些站点可能被监禁或虚拟化。

      例如,我见过高于 3000 的数字。

      如果您想要更好,您必须转向质量更高的提供商,和/或获取您自己的 IP 地址。

      【讨论】:

      • 虽然这意味着它们可以由同一主机代理,但它们不需要由同一主机服务
      • 技术上是正确的,但在我的经验中很少见。对于担心与可能被列入黑名单的潜在垃圾邮件发送者、黑客或僵尸网络共享 IP 地址的人来说,最终结果是相同的。
      • 是的,如果担心共享 IP 地址,那么您确实共享 IP 地址,会受到影响。但是,如果关注的是缓慢性能,那么共享IP地址就不是问题了。鉴于处理发生在不同的主机,IP 地址不得被认为是在相同的硬件上。服务运行在前端公网 IP 上的情况比较少见。
      • @ManishMaheshwari - 诚实的问题(我习惯于 Apache、Cisco PIX/ASA 和 Local Director)。我想您对不同的服务器有所了解。我从未见过与多个物理服务器结合使用的批量虚拟主机。您是说使用边缘设备(如负载均衡器)进行虚拟 REFERRER_URL 虚拟托管很常见,该设备足够智能,可以直接基于私有 IP,或者磁盘/站点内容是否跨物理服务器复制,以便负载均衡器没有了解虚拟主机?
      • 我指的是负载均衡器(通常是软件),它对 HTTP 请求执行基本的安全检查,然后代理到部署站点的私有网络(和私有 IP)上的另一台主机.负载均衡器既智能又快速,还可以主动或被动地监控后端站点的运行状况。
      猜你喜欢
      • 2018-02-01
      • 2021-02-17
      • 2016-01-24
      • 2019-04-02
      • 1970-01-01
      • 1970-01-01
      • 2018-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多