Ошибка 503 из API Google Книг при доступе из EC2 - PullRequest
1 голос
/ 21 июля 2011

В моем экземпляре Amazon EC2:

~$ 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.

Что я делаю не так? Это конфигурация сети Amazon? Это гугл? Это я? Было бы полезно просто узнать, видят ли пользователи EC2 в других зонах доступности ту же ошибку для этого запроса.

1 Ответ

0 голосов
/ 05 апреля 2012

Я знаю, что это очень старый вопрос, но он все еще заслуживает ответа ...

Google возвращает ошибку, указанную выше:

  1. Когда он не может определить, где находится ваш IP. Лицензионные соглашения для многих книг требуют знания того, где вы находитесь.

  2. Когда IP находится во внутреннем черном списке для того, чтобы быть открытым прокси. Известно, что EC2 используется для размещения прокси-серверов, возможно, предыдущий владелец вашего IP-адреса был помечен Google.

  3. Когда присутствует заголовок X-forwarded-for (к нему будут добавляться различные прокси), вместо этого используется этот IP. Если это внутренний ip (например, 10.0.0.1), Google жалуется. Это не должно быть проблемой для ванильного экземпляра EC2, так как у вас есть внешний IP-адрес для внешнего трафика, но если вы что-то делаете с VPC или VPN, может произойти безумие.

Сегодня я не смог воспроизвести эту ошибку для нас на востоке, но протестировал только один экземпляр в зоне случайной доступности.

...