graph.facebook.com 的 DNS 问题
Posted
技术标签:
【中文标题】graph.facebook.com 的 DNS 问题【英文标题】:DNS issue with graph.facebook.com 【发布时间】:2016-08-27 00:59:29 【问题描述】:在 ios 上,graph.facebook.com
的 DNS 查找失败,但仅在我使用蜂窝数据时出现问题。我的服务提供商是 AT&T。
如果我尝试在 Chrome 中访问http://graph.facebook.com
,页面返回ERR_NAME_NOT_RESOLVED
。
这自然会导致我使用 Facebook SDK 的应用出现问题,因为 SDK 对 graph.facebook.com
进行 API 调用。
如果我打开 wifi,一切正常,因为使用的 DNS 服务器与我使用蜂窝数据时使用的不同。
如果我重新启动我的设备,那么http://graph.facebook.com
会工作一段时间,但随后在使用蜂窝数据时,dns 查找会随机再次开始失败。
这是 AT&T 及其 dns 服务器的问题吗?我有什么办法可以在不更改默认 DNS 服务器的情况下解决这个问题(我的用户不知道该怎么做)。
【问题讨论】:
【参考方案1】:我遇到了同样的问题,刚刚在 Twitter 上联系了 FB。似乎 IP6 记录在某些地方无法正确解析。为我在科罗拉多州正确解析,但不适用于我在达拉斯的服务器。
服务器端 SDK 实现
将/etc/hosts
中的 DNS 记录设置为正确的(截至今天)主机名。请记住,这只是临时修复,因为它们的 IP 可能会更改。
# IP6
2a03:2880:f00b:1:face:b00c::1 graph.facebook.com
# IP4
31.13.74.1 graph.facebook.com
客户端 SDK 实现
由于您无法修改用户设备的/etc/hosts
文件,您可以编写一个使用FB SDK 的服务器端服务。此服务将充当您的应用程序的代理或外观,您的应用程序可以直接调用您的自定义服务。 FB SDK 在这里,我使用 php SDK 来管理经过身份验证的 FB 会话和用户持久性。 https://developers.facebook.com/docs/apis-and-sdks
【讨论】:
我在 iOS 上遇到了这个问题,你无法更新 /etc/hosts... 好点,我错过了。请参阅更新的“客户端”答案。这可能比在developers.facebook.com/bugs提交错误更快以上是关于graph.facebook.com 的 DNS 问题的主要内容,如果未能解决你的问题,请参考以下文章
graph.facebook.com/username 不起作用
为啥 python SSL 模块无法验证 graph.facebook.com 证书?
PHP中的Facebook Graph API出现不一致的错误 - 无法连接到graph.facebook.com端口443:连接超时