Facebook API:Heroku服务器的IP地址阻止

时间:2013-04-27 05:17:18

标签: php facebook heroku

我的Heroku PHP facebook应用日志中出现以下错误:

[app web.20] PHP Fatal error: Uncaught OAuthException: (#5) Unauthorized 
source IP address\n thrown in /app/www/sdk/src/base_facebook.php on line 1238

我还注意到,在我回收流程之前,相同的服务器仍然会产生此错误(例如,在上面的情况下,它将 web.20 web.6 继续反复失败),但在heroku ps:restart之后,不同的服务器会一直失败。

在做了一些研究之后,我注意到人们一直建议我在Facebook App中将我的服务器IP列入白名单 - >高级设置页面,这意味着Facebook保留了列入黑名单的IP列表,这是您可以逐个访问它们的地方..这让我想知道为什么Facebook明确encourages its users to use Heroku for its facebook apps,同时黑名单服务器

基本上是这样的:

  1. Heroku是Facebook的托管合作伙伴
  2. 每次应用程序回收时,Heroku都会为其用户提供不可预知的IP地址
  3. Facebook已将Heroku的许多服务器列入黑名单(按我的数量计算,大约十分之一)
  4. 因此,您永远无法保证应用程序可以访问其所有请求的API
  5. 我的问题是:

    像我这样的开发人员如何在Facebook赞助的Heroku环境中配置生产就绪的应用程序,显然必然会在大量的API请求中失败?

3 个答案:

答案 0 :(得分:7)

这很奇怪。我们正在研究它。

编辑:这应该解决。请注意,Facebook因恶意行为阻止了这些IP。我们将继续与他们合作以防止它再次发生,但您可以诚实地做的最好的事情是使用提供非共享IP的托管服务提供商。

另见:https://developers.facebook.com/bugs/649166715098648

答案 1 :(得分:3)

Facebook似乎已开始因某种原因阻止Heroku IP。这不是Heroku控制的东西,也不是Facebook可以解决的问题。我会与Facebook支持联系。

答案 2 :(得分:0)

在Heroku上,试用Proximo之类的插件,看看会发生什么。我刚刚配置了我的,我现在正在监控,看看是否会发生同样的情况。