2

私は最近、Graph API を介して FQL クエリを発行しようとすると、運用サーバーの 1 つが致命的なエラーを出すことを発見しました。他のサーバーでまったく同じコードが完全に機能します。サーバーは、単一の 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

FB アプリのサーバー ホワイトリスト (空白) に IP アドレスを追加しようとしました。ホワイトリストを保存しようとすると、次のエラーが表示されます: あなたの IP はサーバーのホワイトリストに含まれている必要があります。

IP アドレスの範囲を試してみましたが、まだ保存を拒否しています。他の本番サーバーと開発環境はすべて正常に動作しているため、途方に暮れています。Facebook がこの特定のサーバーからのリクエストを受け付けない理由はありますか?

4

1 に答える 1

0

特定のサーバーからの API 呼び出しを制限する場合を除き、詳細設定に IP アドレスを入力する必要はありません。サーバーはロード バランサーの背後にあるため、ロード バランサーの IP アドレスではなく、ロード バランサーの背後にある各サーバーのパブリック IP を入力する必要があります。

サーバーは、ロード バランサーを経由するのではなく、各サーバーから直接 API を呼び出します。ロード バランサーは、API 呼び出しのような発信ではなく、サーバーへの着信要求にのみ使用されます。

于 2014-01-08T15:17:38.573 に答える