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

Этот документ содержит названия переменных одинаково применимых для различных сред контейнеризации, указанных в системных требованиях. Имя переменной не определяет конкретную среду контейнеризации.

Проблемы при конфигурировании клиентского модуля Сервиса Аутентификации#

Несовпадение логинов в сессионных параметрах и поставщике пользовательских данных#

Текст ошибки в логах:

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.