Часто встречающиеся проблемы и пути их устранения#
Этот документ содержит названия переменных одинаково применимых для различных сред контейнеризации, указанных в системных требованиях. Имя переменной не определяет конкретную среду контейнеризации.
Проблемы при конфигурировании клиентского модуля Сервиса Аутентификации#
Несовпадение логинов в сессионных параметрах и поставщике пользовательских данных#
Текст ошибки в логах:
Caused by: ru.mycompany.ufs.platform.core.auth.UfsAuthenticationForbiddenException: Ошибка аутентификации -
неидентичные логины в сессионных параметрах и поставщике пользовательских данных
Описание:
При конфигурации клиентского модуля Сервиса Аутентификации для платформенных приложений на Spring Boot по умолчанию
включена проверка на соответствие логина из токена и логина из сервиса сессионных данных. Если сервис сессионных данных
не используется, то проверка не требуется и ее необходимо выключить (возможность выключения добавлена начиная с версии
authentication-spring-boot-starter 7.4.8 и выше). За включение/выключение этой проверки отвечает
атрибут secureByLogin(по умолчанию он имеет значение true). Чтобы выключить, необходимо установить
атрибуту secureByLogin значение false. Делается это в части конфигурирования, а именно:
@IamProvider(
pathsConfiguration = @PathsSecuredByLoginConfiguration(
secureByLogin = false)
)
Коды ответов от IAM Proxy#
В ходе функционирования сервиса IAM Proxy, сервис передает ответы на HTTP-запросы, и в составе ответов имеется код состояния ответа. В таблице приведены возможные коды HTTP-ответов от IAM Proxy и возможные пути решения возникающих проблем.
Код ответа |
Описание |
Решение |
|---|---|---|
200 |
Ок. Запрос выполнен успешно |
Не требует решения |
301 |
Moved Permanently. URL-адрес запрошенного ресурса был изменен навсегда. Новый URL-адрес указан в ответе |
Происходит автоматический redirect. В случае если автоматический redirect не происходит, необходимо очистить кэш браузера |
302 |
Found. URI запрошенного ресурса был временно изменен |
Происходит автоматический redirect |
400 |
Bad Request. Сервер не смог понять запрос из-за недействительного синтаксиса |
Проверить корректность запроса. Не повторять запрос без изменений |
401 |
Unauthorized. В запросе не хватает действительных учётных данных для целевого ресурса |
Необходимо пройти аутентификацию |
403 |
Forbidden. У пользователя отсутствуют права на доступ к запрошенному ресурсу |
Получить необходимые для доступа права и повторить запрос |
404 |
Not Found. Сервер не может найти запрошенный ресурс |
Проверить корректность запрашиваемого ресурса |
406 |
Not Acceptable. Сервер не может вернуть ответ, соответствующий списку допустимых значений |
|
413 |
Request Entity Too Large. У сервера не получилось обработать запрос, поскольку объект запроса (данные, отправленные клиентом) слишком велик |
Появление ошибки может быть следствием целенаправленного воздействия на ПО паразитной нагрузкой, либо связано с особенностями реализации приложения |
429 |
Too Many Requests. Отправлено слишком много запросов за короткий промежуток времени |
Проверьте, что пользователи или приложение не создает избыточную нагрузку на backend, а значения ограничения по количеству запросов установлены в адекватные значения. Подробнее смотрите Руководстве по установке |
431 |
Request Header Fields Too Large. Сервер не желает обрабатывать запрос, потому что поля заголовка запроса слишком велики |
Для контейнеризированных приложений ограничение может быть вызвано ограничениями на ingress. Для решения проблемы необходимо скорректировать ограничения по максимальному размеру HTTP-заголовок в инфраструктурных сервисах или в backend приложении |
500 |
Internal Server Error. На сервере произошла ошибка, в результате которой он не может успешно обработать запрос |
Причины ошибки не удалось диагностировать. Обратитесь в поддержку |
502 |
Bad Gateway. В процессе обработки запроса сервер получил недопустимый ответ от целевого сервера |
Требуется перезагрузка страницы, либо повторный ввод URL |
503 |
Service Unavailable. Сервер не готов обработать запрос в данный момент |
Повторите запрос через некоторое время |
504 |
Gateway Timeout. В процессе обработки запроса сервер не может вовремя получить ответ от целевого сервера |
Требуется перезагрузка страницы |
509 |
Too many connections. Превышен лимит одновременных подключений к ресурсу |
В этом случае frontend приложение генерирует слишком много избыточных подключений (например, при плохом качестве разработки или если оно было взломано) или backend приложение не успевает обработать обращения, что приводит к появлению дополнительных запросов и подключений. Рекомендуется обратиться к мониторингу приложений и установить место деградации производительности, затем скорректировать аппаратные ресурсы сервиса или выставить корректные лимиты |
590 |
Служебный код, который означает недоступность всех контуров |
IAM Proxy, при проксировании запросов в backend, передает HTTP-ответы от backend и для детализации этих ответов (и их кодов) необходимо руководствоваться документацией на сервис размещенный в этом backend.