2

我最近发现,当我们尝试通过 Graph API 发出 FQL 查询时,我们的一个生产服务器出现了致命错误。其他服务器上完全相同的代码可以完美运行。服务器位于具有单个 IP 地址的负载平衡器后面。

错误是:

  PHP Fatal error:  Uncaught OAuthException: (#5) Unauthorized source IP address
  thrown in /usr/local/home/faniq/php-lib/facebook/base_facebook.php on line 1039

我已尝试将 IP 地址添加到我的 FB 应用程序的服务器白名单(空白)。当我尝试保存白名单时,它给了我这个错误:您的 IP 应该包含在服务器白名单中。

我什至尝试了一个IP地址范围,仍然拒绝保存。其他生产服务器和我们的开发环境都工作正常,所以我很茫然。任何想法为什么 Facebook 不会接受来自这台特定服务器的请求?

4

1 回答 1

0

除非您想限制来自特定服务器的 API 调用,否则您不需要在“高级设置”中输入 IP 地址。由于您的服务器位于负载均衡器后面,因此您应该为负载均衡器后面的每个服务器输入公共 IP,而不是负载均衡器 IP 地址。

服务器将直接从每个服务器调用 API,而不是通过负载均衡器。负载均衡器仅用于对您的服务器的传入请求,而不是像 API 调用那样传出。

于 2014-01-08T15:17:38.573 回答