【问题标题】:Calling API by IP address vs domain name通过 IP 地址和域名调用 API
【发布时间】:2017-03-10 05:14:45
【问题描述】:

在最近一次对 DNS 的 DDoS 攻击期间,我的网站无法继续运行。

虽然主站点保持正常运行,但我无法连接到不同域上的外部 API,导致站点完全无法使用。

使用 PHP 获取数据:

file_get_contents(API_PATH)

我目前使用域名调用 API,但如果需要,我可以使用 IP 地址。

通过IP调用API有什么好处/坏处?

在进行此更改之前,我还有什么需要注意的吗?

【问题讨论】:

    标签: php dns ip ddos


    【解决方案1】:

    您的计算机可能缓存了已解析的主机,但尚未对其进行更新。您需要刷新 DNS 缓存。

    使用 IP 地址不是一个好主意。虽然 DNS 提供商可能受到攻击,但 IP 更可能被更改。我的意思是,很少有 DNS 提供商像最近那样受到如此大规模的攻击,而且看到网站更改其 IP 地址肯定更常见(尽管它不应该总是正常发生)。因此,您可能希望在 DNS 攻击期间使用 IP 地址(尽管您自己的 DNS 提供商也可能受到攻击),但不是正常情况。如果您想安全,请在域无法解析时回退到使用缓存的 IP 地址;但无论如何编写这种代码是没有意义的,因为它很少有用。

    【讨论】:

    • 编辑:删除了关于 GitHub Pages 的部分,因为它实际上使用了Host HTTP 标头,与是否使用 DNS 无关。
    【解决方案2】:

    如果您使用 IP 地址:

    【讨论】:

      【解决方案3】:

      在 API 调用中使用 DNS 名称或 IP 地址确实没有太大区别。

      但是,如果您更改了服务提供商,则必须同时更新您的 DNS 设置(例如您的 A 记录)和代码中的 IP 地址,否则您不必这样做。

      除此之外,一切顺利,除非其他人想到任何其他原因。

      【讨论】:

        【解决方案4】:

        我假设您想减轻最近 DNS DDoS 攻击的影响。

        优点:

        • 您的网站仍在运行。尽管这可能无关紧要,因为没有人能够访问您的网站。

        缺点:

        • 如果 API 更改其 IP 地址怎么办?
        • 如果 API 使用 DNS 进行负载平衡(例如,它可能在不同时间解析到不同的 IP)怎么办?
        • 如果 API 使用 CDN 会怎样?

        我不推荐。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-04-04
          • 2018-10-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-08-25
          相关资源
          最近更新 更多