2013-04-27 79 views
17

我一直有在我的Heroku PHP的Facebook应用程序日志中出现以下错误:Facebook的API:Heroku的服务器的IP地址阻塞

[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.20web.6,它们会一直保持失败),但在heroku ps:restart之后,将会有不同的服务器保持失败。

现在做了一些研究之后,我注意到人们不停地建议我在Facebook应用程序 - >高级设置页面中将我的服务器IP列入白名单,这意味着Facebook保留一份黑名单IP列表,并且这是您可以允许访问它们的地方之一由一个..这让我想知道为什么Facebook清楚encourages its users to use Heroku for its facebook apps,而同时黑名单的服务器。

所以基本上:

  1. Heroku的是Facebook的托管合作伙伴
  2. Heroku的每一个应用程序被回收
  3. 而Facebook已列入黑名单许多Heroku的服务器(大约1时,为用户提供不可预知的IP地址10我的计数)
  4. 因此,你永远不能保证你的应用程序将获得访问其所有请求的API

我的问题是:

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

+3

我也觉得这种情况很荒谬。重新启动heroku实例希望他们最终在非黑名单的IP是不是一个可行的解决方案。这篇文章有2个选项来解决这个问题。 http://stackoverflow.com/questions/16086615/5-unauthorized-source-ip-address-error-on-heroku-rails-app – Jody 2013-04-27 12:31:14

+0

+ 1-自周四以来也发生在我们身上。重启我们所有的员工解决这个问题,现在又发生了。 – shem 2013-04-28 09:11:18

+1

发生在我身上:( – coder9 2013-04-29 03:57:00

回答

7

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

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

看到这里还有:https://developers.facebook.com/bugs/649166715098648

+4

我也收到了很多问题。几天前刚刚开始发生。在Heroku上。 – 2013-04-29 00:48:36

+0

在27日星期六为我开始......当我只运行一个动态代码时似乎会消失 – handler 2013-04-29 15:36:05

+0

同样的事情发生在我们身上,从上周开始,似乎发生很多 – jorilallo 2013-04-29 20:37:57

3

看起来的Facebook已经开始封杀的Heroku的IP出于某种原因。这不是Heroku控制的东西,只有Facebook可以解决的问题。我会与Facebook支持联系。

0

在Heroku上,试试像Proximo这样的加载项,看看会发生什么。我只是在我的配置,我现在正在监测,看看是否发生了同样的情况。