2017-01-31 11 views
5

У нас возникла проблема, когда наши файлы cookie достигают определенного размера (более 7k), где nginx возвращает 400 Bad Request с пустым ответом при проксировании на наш tomcat , Этого не происходит, когда nginx обслуживает статический контент. Мы уже пытались обновить Nginx конфигурацию, чтобы увеличить размер буфера поэтому он должен обрабатывать отдельные заголовки до 16k (мы также попытались установить его на уровне сервера):400 плохой запрос на прокси-сервер nginx для tomcat, но не для статического содержимого

http { 
    # ... 
    client_body_buffer_size  32k; 
    client_header_buffer_size 16k; 
    large_client_header_buffers 4 16k; 
    # ... 
} 

Мы также увеличили кот макс -http-header-size до 16k. Если мы увеличим размер файла cookie до более чем 16k, мы по-прежнему получаем 400 запросов, но ответ имеет сообщение об ошибке «Request Header or Cookie Too Large». Что-то странное происходит между размерами заголовков 8k и 16k, которые мы не можем понять.

+0

Это не по всей видимости, является проблемой Nginx, поскольку это маловероятно он должен возвращать пустые страницы, которые обычно являются классической подписью tomcat. – cnst

+1

Не могли бы вы добавить точные версии nginx & tomcat? – Tair

ответ

1

Это не проблема с nginx, так как маловероятно, что она будет возвращать пустые страницы, которые обычно являются классической подпиткой tomcat.

Казалось бы, что настройка размера заголовка может зависеть от разъема, что вы используете:

+0

Мы используем HTTP-соединитель, хотя – cnaut

+0

Итак, вы пытались изменить 'maxHttpHeaderSize' в соответствии с http://tomcat.apache.org/tomcat-6.0-doc/config/http.html? Я не слишком уверен, почему вы указываете в своем вопросе «max-http-header-size» в своем вопросе, возможно, это еще один шаг вниз по линии вашего приложения tomcat. – cnst

+0

Мы пробовали оба, но все еще есть проблема. Как ни странно, поражение tomcat напрямую не вызывает проблем. Только от nginx до tomcat. – cnaut