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

2022-08-31 01:18:46

我在我的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.20web.6),但之后将是不同的服务器不断失败。heroku ps:restart

现在,在做了一些研究之后,我注意到人们一直建议我在Facebook App->高级设置页面中将我的服务器IP列入白名单,这意味着Facebook保留了一个列入黑名单的IP列表,这是您可以允许逐个访问它们的地方。这让我想知道为什么Facebook明确鼓励其用户在其Facebook应用程序中使用Heroku,同时将其服务器列入黑名单。

所以基本上:

  1. Heroku是Facebook的托管合作伙伴
  2. Heroku 在每次回收应用程序时为其用户提供不可预测的 IP 地址
  3. Facebook已经将Heroku的许多服务器列入黑名单(据我统计,大约每10台服务器中就有1台)
  4. 因此,您永远无法保证您的应用程序将为您的所有请求访问其API

我的问题是:

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


答案 1

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

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

另请参阅此处:https://developers.facebook.com/bugs/649166715098648


答案 2

Facebook似乎出于某种原因开始阻止Heroku IP。这不是Heroku控制的事情,只有Facebook才能解决的问题。我会与Facebook的支持部门取得联系。


推荐