Facebook API:Heroku服务器的IP地址阻止
我在我的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明确鼓励其用户在其Facebook应用程序中使用Heroku,同时将其服务器列入黑名单。
所以基本上:
- Heroku是Facebook的托管合作伙伴
- Heroku 在每次回收应用程序时为其用户提供不可预测的 IP 地址
- Facebook已经将Heroku的许多服务器列入黑名单(据我统计,大约每10台服务器中就有1台)
- 因此,您永远无法保证您的应用程序将为您的所有请求访问其API
我的问题是:
像我这样的开发人员如何期望在Facebook赞助的Heroku环境中配置生产就绪的应用程序,该环境显然注定会在大量API请求中失败?