После ввода в эксплуатацию и дальнейшей поддержки коробочного портала Битрикс24 с более чем 8300 активных пользователей AD, натолкнулись на специфичную ошибку: при авторизации через Kerberos часть пользователей получала ошибку nginx:
400 Bad Request - request header or cookie too large
При этом бОльшая часть других пользователей спокойно продолжала пользоваться порталом в штатном режиме. Начали инспектировать. Удаление куков, как пишут на просторах интернета нам никак не помогало. В итоге, начали искать на стороне похожих проблем с Kerberos. И нашли. Оказывается, часть пользователей была соотнесена большому количеству групп в AD. Соответственно, запрос к серверу превышал допустимые ограничения. Необходимо увеличить директиву large_client_header_buffers для nginx, в нашем случае мы добавили в файл /etc/nginx/nginx.conf в раздел http строчку:
large_client_header_buffers 8 32k;
Этого крайне не советуют делать в угоду производительности, но раз другого выхода нет, то вносим. Перезапускаем nginx, ошибка 400 пропала, FF и Chrome замечательно авторизуют, а вот IE выдал "свою" 400 ошибку. Зная, в каком русле нужно "копать", вносим директивы уже в конфиги апач: /etc/httpd/conf
LimitRequestLine 32760
LimitRequestFieldSize 32760
перезапускаем апач.
Ура! Все пользователи снова работают с порталом через SSO.
400 Bad Request - request header or cookie too large
При этом бОльшая часть других пользователей спокойно продолжала пользоваться порталом в штатном режиме. Начали инспектировать. Удаление куков, как пишут на просторах интернета нам никак не помогало. В итоге, начали искать на стороне похожих проблем с Kerberos. И нашли. Оказывается, часть пользователей была соотнесена большому количеству групп в AD. Соответственно, запрос к серверу превышал допустимые ограничения. Необходимо увеличить директиву large_client_header_buffers для nginx, в нашем случае мы добавили в файл /etc/nginx/nginx.conf в раздел http строчку:
large_client_header_buffers 8 32k;
Этого крайне не советуют делать в угоду производительности, но раз другого выхода нет, то вносим. Перезапускаем nginx, ошибка 400 пропала, FF и Chrome замечательно авторизуют, а вот IE выдал "свою" 400 ошибку. Зная, в каком русле нужно "копать", вносим директивы уже в конфиги апач: /etc/httpd/conf
LimitRequestLine 32760
LimitRequestFieldSize 32760
перезапускаем апач.
Ура! Все пользователи снова работают с порталом через SSO.