Часто встречающиеся проблемы и пути их устранения#

В данном разделе рассмотрены ошибки, которые могут возникнуть в процессе работы с SOWA, и способы их устранения.

Некорректный ответ от внешнего сервиса#

SOWA отвечает:

...
{
"id": "CODE-154",
"element": "",
"title": "datapower",
"description": "Некорректный ответ от внешнего сервиса"
}
... 

Где искать лог:

/sowalogs/<profile>/services/service_http_proxy/my_service_error.log
/sowalogs/<profile>/services/service_http_proxy/my_service/upstream_response/*

Что это значит:

Ответное сообщение не является JSON.

Что делать:

  1. Убедиться, что вызывается нужный сервис. Например, проверить параметры балансировки и URL.

  2. Удостовериться, что сервис доступен. Возможно, веб-сервер возвращает типовую страницу 404 Not Found.

Пример лога:

2019/03/15 09:23:22 [error] 35261#35261: *1038683 A JSONObject text must begin with '{' at 1 [character 2 line 1] while sending to client, client: Х.Х.Х.Х, server: localhost, request: "POST /sm-uko/v2/session/create HTTP/1.0", upstream: "http://Х.Х.Х.Х:Х/sm-uko/v2/session/create", host: "nginx-and.ift-node0.testonline.mycompany.ru"

Пример полного тела запроса в поле conentBody:

{
  "eventTime": "27.11.2019 09:23:49,199 +03:00",
  "userSessionID": "EMPTY",
  "procStatus": "ERROR",
  "contentBody": "<html>\r\n<head><title>503 Service Temporarily Unavailable</title></head>\r\n<body>\r\n<center><h1>503 Service Temporarily Unavailable</h1></center>\r\n<hr><center>openresty/1.x.x.x</center>\r\n</body>\r\n</html>\r\n<!-- a padding to disable MSIE and Chrome friendly error page -->\r\n<!-- a padding to disable MSIE and Chrome friendly error page -->\r\n<!-- a padding to disable MSIE and Chrome friendly error page -->\r\n<!-- a padding to disable MSIE and Chrome friendly error page -->\r\n<!-- a padding to disable MSIE and Chrome friendly error page -->\r\n<!-- a padding to disable MSIE and Chrome friendly error page -->\r\n",
  "inboundURL": "http://Х.Х.Х.Х:Х/fin-analitic/auth/v2/authdata",
  "outboundURL": "",
  "protocolHeaders": {"Server": "openresty/Х.Х.Х.Х","Date": "Wed, 27 Nov 2019 06:23:49 GMT","Content-Type": "text/html","Content-Length": "605","Connection": "close","Retry-After": "60"},
  "domain": "ul_ios",
  "cookies": {},
  "protocolMethod": "POST",
  "multiProtocolGatewayName": "ul_ios",
  "LGBGroup": "extgw_v1",
  "clientIP": "x.x.x.x",
  "targetValidator": "",
  "initDNCertificate": "",
  "originalHTTPResponseCode": "503",
  "xGlobalTransactionID": "829d4db4e1823336dcede293420f68de",
  "userActionID": "finAnaliticAuth.authdata"
}

Вызов сервиса, который не был объявлен сервисом в профиле#

SOWA отвечает:

...
{
"id": "CODE-101",
"element": "",
"title": "datapower",
"description": "Не найден маршрут"
}
... 

Где искать лог:

/sowalogs/<profile>/services/service_main_proxy/500_acces.log

Что это значит:

Клиент вызвал сервис, по URI, который не был объявлен сервисом в профиле.

Что делать:

  1. Удостовериться, что профиль содержит объявление данного сервиса. Если объявление содержит паттерн, то проверить совпадение паттерна.

  2. Удостовериться, что на сервере установлена корректная версия профиля.

  3. Проверить, что в запросе корректно указан хост и порт сервера. Возможно, проблема в «схожести» доменных имен, и ожидается корректный ответ от другого сервера.

Ошибка 502.#

Где искать лог:

/sowalogs/<profile>/system/main_error.log

/sowalogs/<profile>/services/service_http_proxy/my_service_error.log

Что это значит:

Вероятно, текущие настройки TLS(SSL) для сервиса используют сертификаты, непригодные для подключения к бэкенду.

Что делать:

  1. Удостовериться, что на SOWA для подключения к бэкенду используются корректные сертификаты.

  2. Удостовериться, что на upstream-сервер добавлены в доверенные сертификаты SOWA. Либо, что на бэкенд отсутствуют проверки сертификатов.