2017-02-10 1 views
0

Я сконфигурировал свой кластер в AWS для WSO2 API Manager с балансировщиками нагрузки для каждого раздела: магазин, издатель, управляющие шлюзами и рабочие шлюзы.Почему я получаю «uri: /carbon/admin/login.jsp, ошибка: требуемый токен отсутствует в запросе» при попытке войти в WSIM2 APIM?

Однако, когда я пытаюсь войти в магазин, издателе или Carbon, с правильным именем пользователя и паролем, я получаю следующее сообщение об ошибке в логах:

ARN - JavaLogger potential cross-site request forgery (CSRF) attack thwarted 
(user:<anonymous>, ip:10.0.1.125, method:HEAD, uri:/carbon/admin/login.jsp, 
error:required token is missing from the request) 

Вот вся информация, журнал дает я, и я точно знаю, что пользователь/пропуск правильный. Почему я не могу войти?

ответ

1

Я только разместил этот вопрос для обмена ответами, потому что я не мог найти ничего об этом в Google.

Моя проблема заключалась в том, что балансировщик нагрузки настроил равномерное распределение запросов среди своих экземпляров. Поэтому, когда я пытался войти в систему, запрос всегда отправлялся на другой узел, который по определению является атакой CSRF.

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

+1

Важные сессии необходимы. В противном случае, lb будет направлять запросы нескольким узлам, и это приведет к сбою запроса на вход, а также к другим запросам, которые вы сделали на сервере. Вы можете найти конфигурации в руководстве - https://docs.wso2.com/display/CLUSTER44x/Configuring+NGINX – Pubci