1

私のAmazonEC2インスタンスでは:

~$ curl -XGET https://www.googleapis.com/books/v1/volumes?q=Mark+Twain
{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "unknownLocation",
    "message": "Cannot determine user location."
   }
  ],
  "code": 503,
  "message": "Cannot determine user location."
 }
}

私のラップトップからの同じリクエストは、適切な応答を生成します-JSON形式でデータを予約します。

私は何が間違っているのですか?アマゾンのネットワーク構成ですか?グーグルですか?私ですか?他のアベイラビリティーゾーンのEC2ユーザーがこのリクエストに対して同じエラーを表示するかどうかを知ることは役に立ちます。

4

1 に答える 1

0

これは非常に古い質問であることは知っていますが、それでも回答に値します...

Google は上記のエラーを返します。

  1. あなたのIPがどこにあるかを特定できない場合。その書籍の多くのライセンス契約では、あなたがどこにいるのかを知る必要があります.

  2. IP がオープン プロキシとして内部ブラックリストに含まれている場合。EC2 はプロキシをホストするために使用されることが知られており、おそらく IP の以前の所有者が Google によってタグ付けされた可能性があります。

  3. X-forwarded-for ヘッダーが存在する場合 (これはさまざまなプロキシによって追加されます)、代わりにその IP が使用されます。それが内部 IP (10.0.0.1 など) である場合、Google は文句を言います。これは、外部トラフィック用の外部 IP アドレスを持っているため、通常の EC2 インスタンスでは問題になりませんが、VPC または VPN で何かをしている場合、狂気が発生する可能性があります。

今日、us-east でこのエラーを再現できませんでしたが、ランダムなアベイラビリティ ゾーンで 1 つのインスタンスのみをテストしました。

于 2012-04-05T07:49:27.690 に答える