我最近发现当我们尝试通过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不接受来自这个特定服务器的请求?
答案 0 :(得分:0)
除非您要限制来自特定服务器的API调用,否则您不需要在“高级设置”中输入IP地址。由于您的服务器位于负载均衡器后面,因此您应该为负载均衡器后面的每个服务器输入公共IP,而不是负载均衡器IP地址。
服务器将直接从每个服务器调用API,而不是通过负载均衡器。负载均衡器仅用于对服务器的传入请求,而不是像API调用那样传出。