Часто встречающиеся проблемы и пути их устранения#
В данном разделе рассмотрены ошибки, которые могут возникнуть в процессе работы с 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.
Что делать:
Убедиться, что вызывается нужный сервис. Например, проверить параметры балансировки и URL.
Удостовериться, что сервис доступен. Возможно, веб-сервер возвращает типовую страницу 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, который не был объявлен сервисом в профиле.
Что делать:
Удостовериться, что профиль содержит объявление данного сервиса. Если объявление содержит паттерн, то проверить совпадение паттерна.
Удостовериться, что на сервере установлена корректная версия профиля.
Проверить, что в запросе корректно указан хост и порт сервера. Возможно, проблема в «схожести» доменных имен, и ожидается корректный ответ от другого сервера.
Ошибка 502.#
Где искать лог:
/sowalogs/<profile>/system/main_error.log
/sowalogs/<profile>/services/service_http_proxy/my_service_error.log
Что это значит:
Вероятно, текущие настройки TLS(SSL) для сервиса используют сертификаты, непригодные для подключения к бэкенду.
Что делать:
Удостовериться, что на SOWA для подключения к бэкенду используются корректные сертификаты.
Удостовериться, что на upstream-сервер добавлены в доверенные сертификаты SOWA. Либо, что на бэкенд отсутствуют проверки сертификатов.