【问题标题】:Finding an right IP of a web-site寻找合适的网站IP
【发布时间】:2016-12-13 22:54:03
【问题描述】:

我尝试发送一个 DNS 数据包来获取某个网站的 IP。

在某些情况下,例如 google,IP 是正确的,当我在 url 行中输入它时,它会将我发送到 google。

但在其他情况下(例如:stackoverflow.com),它给了我一个没有链接到网站的 IP。

为了确保我的数据包是正确的,我尝试在命令行中做Nslookap,结果是一样的。

所以我找不到网站的正确 IP 地址。 当我尝试进入 stakoverflow 时出现消息

Fastly error: unknown domain: 151.101.65.69.
Please check that this domain has been added to a service.

【问题讨论】:

  • 不适合Stack Overflow,下次试试超级用户这类问题

标签: dns ip


【解决方案1】:

简答:你需要一个主机头。

长答案:自 1997 年引入 HTTP/1.1(然后在 1999 年和 2014 年更新)以来,请求需要一个 host 标头。这允许 Web 服务器将请求路由到相应的服务器配置,即 Apache 中的 virtual server。一些服务器没有进行此配置,并且允许从相同的 Web 服务器配置向任何主机发送请求。

HTTP/1.1 还允许多租户代理(如 Fastly)存在于 Internet 中。 Fastly 是一个 CDN - 内容交付网络 - 允许将网站内容缓存在离用户更近的地方并在本地交付(比从云或 colo 更快,因此得名)。

当您没有为请求指定域时,看起来您的客户端(或库)正在使用 IP 地址作为主机标头。这就是为什么 Fastly 的回复谈到了域名:unknown domain: 151.101.65.69

虽然 Fastly 确实支持 service pinning 到专用 IP 地址,这对您的请求很有效 - 看起来 stackoverflow 并没有使用该功能,因为他们可能不需要它。

【讨论】:

    【解决方案2】:

    您(一般而言)无法仅通过在浏览器的地址栏中输入 IP 地址来打开网站,因为 Web 服务器(以及您与 Web 服务器之间的许多其他网络组件)通常不会仅托管一个 Web该 IP 地址上的站点,因此他们依靠在地址栏中输入的确切域名来提供正确的内容。

    【讨论】:

      【解决方案3】:

      我认为,这是由您的互联网限制引起的。尝试就这个问题联系您的 ISP(您的互联网提供商)。他可能会更多地了解这个问题的原因。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-11
        • 1970-01-01
        • 1970-01-01
        • 2021-02-15
        • 1970-01-01
        • 2011-01-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多