通过IP地址调用API与通过域名调用API有何区别?

3

最近在 DNS 遭受 DDoS 攻击期间,我的网站无法继续正常运作。

尽管主站仍能正常运行,但我无法连接到不同域名上的外部 API,导致该网站变得完全无法使用。

数据是通过 PHP 获取的:

file_get_contents(API_PATH)

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

使用IP地址调用API有什么优缺点吗?

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

4个回答

3
您的计算机可能已经缓存了已解析的主机名,但尚未更新。您需要清除DNS缓存。
使用IP地址并不是一个好主意。虽然DNS提供商可能会受到攻击,但更有可能的是IP地址被更改。我的意思是,很少有DNS提供商像最近那样遭受如此大规模的攻击,而看到网站更改其IP地址则更为常见(尽管通常不应该发生)。因此,在DNS攻击期间,您可能希望使用IP地址(尽管您自己的DNS提供商也可能受到攻击),但在正常情况下不应该这样做。如果域名无法解析,如果您想保险起见,请回退使用缓存的IP地址;但编写这种代码毫无意义,因为它很少有用。

编辑:删除了关于GitHub Pages的部分,因为它实际上使用“Host”HTTP头,与是否使用DNS无关。 - SOFe

2

1

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

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

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


1
我假设你想减轻最近DNS DDoS攻击的影响。
优点:
- 您的网站仍然可以正常运行。虽然这可能并不太重要,因为没有人能访问您的网站。
缺点:
- 如果API更改其IP地址怎么办? - 如果API使用DNS进行负载均衡(例如,在不同时间解析到不同的IP),会怎样? - 如果API使用CDN,会怎样?
我不建议这样做。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接