Назад | Перейти на главную страницу

apache: disable mod_deflate - [ошибка] неизвестный фильтр

Я запускаю apache с mod_pagespeed на fedora (14) и получаю сообщение об ошибке:

[error] an unknown filter was not added: DEFLATE

много. Я знаю, что это потому, что mod_deflate не загружен, но это хорошо, я не хочу его загружать (балансировщик нагрузки позаботится о сжатии и т. Д., И мы получаем неожиданные результаты, когда deflate также находится на веб-серверах)

Однако я не могу понять, где на него ссылаются, я использовал эту команду для просмотра всех файлов в / etc / httpd

 find . -type f -exec grep -li "deflate" {} \;

Обновить эта команда также выполняет поиск в подкаталоге conf.d - и я использовал аналогичную вещь для просмотра всех файлов .htaccess на сервере

 find . -type f -name ".htaccess" -exec grep -li "deflate" {} \;

и единственные ссылки находятся в файлах .conf, и они закомментированы # (apache был перезапущен) Обновить например

# LoadModule deflate_module modules/mod_deflate.so

Как я могу найти ссылку на нее и удалить ее?

Обновить Я пытался бежать a2enmod и a2dismod, но таких команд нет. yum install a2dismod не находит ничего для установки. Имена этих команд и /etc/apache2/mods-enabled каталог, с которым я сталкивался только с ubuntu, я не знаю эквивалентных команд fedora / fedora-installed-via-yum

список установленных модулей (но поскольку ошибка заключается в том, что фильтр неизвестен, я не уверен, что ищу? Если бы mod_deflate был в этом списке, я бы точно не получил ошибку?)

Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
auth_basic_module (shared)
auth_digest_module (shared)
authn_file_module (shared)
authn_alias_module (shared)
authn_anon_module (shared)
authn_dbm_module (shared)
authn_default_module (shared)
authz_host_module (shared)
authz_user_module (shared)
authz_owner_module (shared)
authz_groupfile_module (shared)
authz_dbm_module (shared)
authz_default_module (shared)
ldap_module (shared)
authnz_ldap_module (shared)
include_module (shared)
log_config_module (shared)
logio_module (shared)
env_module (shared)
ext_filter_module (shared)
mime_magic_module (shared)
expires_module (shared)
headers_module (shared)
usertrack_module (shared)
setenvif_module (shared)
mime_module (shared)
dav_module (shared)
status_module (shared)
autoindex_module (shared)
info_module (shared)
dav_fs_module (shared)
vhost_alias_module (shared)
negotiation_module (shared)
dir_module (shared)
actions_module (shared)
speling_module (shared)
userdir_module (shared)
alias_module (shared)
substitute_module (shared)
rewrite_module (shared)
proxy_module (shared)
proxy_balancer_module (shared)
proxy_ftp_module (shared)
proxy_http_module (shared)
proxy_ajp_module (shared)
proxy_connect_module (shared)
cache_module (shared)
suexec_module (shared)
disk_cache_module (shared)
cgi_module (shared)
version_module (shared)
cband_module (shared)
dnssd_module (shared)
pagespeed_module (shared)
perl_module (shared)
php5_module (shared)
python_module (shared)
ssl_module (shared)

Сообщение об ошибке, которое вы получаете, на самом деле означает, что ваша текущая конфигурация apache нуждается в mod-deflate быть загруженным. Ваш apache хочет использовать mod-deflate как фильтр обработки, либо исходящий, либо входящий фильтр.

Увидеть документация apache о фильтрах.

Поскольку вы не хотите использовать mod-deflate вы отключили его, и вывод DUMP_MODULES не показывает это. Теперь вам нужно найти инструкции по фильтрам, в которых используется mod-deflate и деактивировать их. Ищем ключевое слово DEFLATE это хорошее начало, но также ищите INFLATE (mod-deflate также используется для распаковки тела входящего ответа). И, если ничего не найдешь, даже ищу Filter может помочь (но тогда вы, вероятно, получите более длинный список совпадений). Попробуйте такие команды, как:

grep -r Filter /etc/apache2/*
find /var/www -type f -name .htaccess -exec grep Filter {} \;

Вам также может потребоваться поискать другие включенные файлы, так как некоторые пакеты (некоторые веб-приложения, такие как phpmyadmin и другие) обычно устанавливают директивы конфигурации apache в разных каталогах (по крайней мере, так обстоит дело с некоторыми пакетами Debian / Ubuntu, не уверен в Fedora).

Вы также можете полностью отключить модуль фильтра (mod-filter) и модуль mime (mod-mime, который определяет директивы Add / RemoveFilter), но это деактивирует другие функции, которые могут вам понадобиться.

Проверьте файлы htaccess на что-то вроде

AddOutputFilterByType DEFLATE text/plain

Какую версию Fedora вы используете?

Вам не только нужно искать deflate слово, но также нужно искать include операторы в ваших файлах конфигурации apache. Большинство дистрибутивов Linux автоматически включают все файлы из каталога, например /etc/apache2/conf.d/ в их конфигурацию apache. Это может быть ваш случай.

Ваш дистрибутив, вероятно, включает a2enmod и a2dismod Утилиты apache, помогающие управлять модулями apache. Эти утилиты обычно управляют только ссылками в /etc/apache2/mods-enabled каталоги, которые затем включаются, как я сказал выше. Попробуйте использовать эти команды для управления списком модулей, которые использует ваш apache.