Назад | Перейти на главную страницу

Как отладить 400 внутренних ошибок в Google Cloud

У нас есть система, которую мы переносим с AWS на Google Cloud. Серверы помещены в контейнеры и развертываются через Kubernetes.

У нас есть интерфейс, выполняющий вызовы api в серверную часть. В большинстве случаев эти вызовы API выполняются успешно.

Время от времени мы видим, что вместо обращения к бэкэнду вызов api завершается ошибкой с ответом 400, при этом для содержимого тела устанавливается общая ошибка Google:

"400. Это ошибка.

Ваш клиент отправил неверный или незаконный запрос. Это все, что мы знаем. "

В наших журналах мы не видим, чтобы запрос попал в серверную часть. Это как будто потерялось внутри Google.

Выполнение одного и того же вызова из командной строки из контейнера внешнего интерфейса или с наших локальных машин работает каждый раз.

Мои вопросы:

i) Кто-нибудь видел что-то подобное и нашел способ решения проблемы?

ii) Как мы можем это отладить?

fyi запрос представляет собой простой GET, который выглядит так: "https://example.com/v1/session/12345?frontend_ip=1.2.3.4%2C+5.6.7.8&req_timestamp=2018-04-19+10%3A46"

Ошибка может означать несколько вещей. Это поможет, если вы сможете поделиться отправляемым вами запросом (без каких-либо конфиденциальных данных).

Кроме того, это может быть случай, когда они представляют собой запросы DELETE или GET с телом к ​​входящему ресурсу (балансировщик нагрузки HTTP (S)).

В случае запросов DELETE с paylaod он работает должным образом, как указано в этом док.

В случае запросов GET с полезной нагрузкой происходит постоянное запрос функции позволить им.