Что выполняет прозрачное согласование содержимого в Apache - PullRequest
0 голосов
/ 09 июня 2018

Я унаследовал довольно сложное веб-приложение на Java, которое демонстрирует таинственное поведение, и мне нужно знать, что его вызывает.

Приложение запрашивает файл file.css.Если file.css существует, он возвращается.Если file.css не существует, но file.css.gz существует, возвращается файл gzipped со следующими необычными заголовками:

Content-Location: file.css.gz
Content-Type: application/x-gzip
TCN: choice
Vary: negotiate

Наличие заголовка TCN означает, чтозапрос был прозрачно согласован, скорее всего, с помощью Apache RewriteRule, но я не могу найти, где определено правило.Я обнаружил и проверил каждый файл конфигурации Apache на сервере (для нескольких файлов указана Include) и прокомментировал каждое упоминание о «gzip» или «.gz».Во всех конфигурационных файлах есть только один RewriteRule, и он для SSL.После перезапуска Apache я все еще не могу отключить поведение.

Это поведение Apache по умолчанию или это похоже на поведение определенного модуля?

Операционная система сервера - RHEL 5.8Apache 2.2.

1 Ответ

0 голосов
/ 11 июня 2018

виновник был Apache MultiViews .Это было разочаровывающее расследование, потому что настройка MultiViews не включает упоминание RewriteRule или каких-либо расширений файлов, которые он автоматически заменит.Вы должны уже знать о MultiViews, прежде чем сможете понять, что это вызывает такое поведение.

...