Добрый день
Долгое время работал сайт под управлением tomcat 7.0.75 с настройкой кеша под статику таким образом
root /nginx/root/site;
location ~ ^/tst/(css|custom|galleries|i|images)/ {
expires 3h;
proxy_cache_valid 200 3h;
add_header "Cache-Control" "public";
add_header "Cache-Control" "no-transform";
try_files $uri @proxy_priv;
}
location @proxy_priv {
internal;
proxy_intercept_errors on;
proxy_set_header "Accept-Encoding" "identity";
proxy_store on;
proxy_pass http://site_priv_http;
}
После очередного апгрейда приложения версия tomcat поменялась на 9.0.36
И вся эта кухня перестала работать. Точнее, работает только первый раз!
Потом тупо не возвращает например, тот же css -- идут ошибки HTTP 400 Bad Request
Удаляешь файлики из /nginx/root/site (== root) все опять ОДИН раз отрабатывает, пока не закеширует снова
Есть подозрение, что мешает proxy_set_header "Accept-Encoding" "identity";
Но тем же curl-ем тако заголовок отрабатывает вполне нормально
С другими значениями (или без этого заголовка вообще) данные приходят в zip-виде, но браузер почему-то это не понимает и считает что они просто кривые
Вот еще общие настройки по zip
gzip on;
gzip_min_length 1000;
gzip_disable "msie6";
gzip_types text/plain text/css text/xml application/javascript application/json application/msword application/pdf application/rtf application/vnd.ms-excel application/vnd.ms-powerpoint application/xhtml+x
ml image/gif image/png image/tiff image/x-icon image/x-ms-bmp;
# gzip_proxied expired no-cache no-store private auth;
gzip_proxied any;
gzip_vary on;
Собственно, proxy_set_header "Accept-Encoding" "identity"; и был добавлен, чтоб контент нормальный, не зипованный приходил на frontend, а там уж как угодно
Видимо, где-то я перемудрил
Мож кто опытным взглядом сразу увидит в чем ошибка?
Еще раз, в конфигурации с tomcat 7.0.75 все работает, при апгрейде на tomcat 9.0.36 все поломалось :-(
Спасибо