Skocz do zawartości
Zaloguj się, aby obserwować  
wmarcin

Wyłączenie modułu "mod_deflate" (kompresji gzip) w CentOS.

Polecane posty

Od dziś zaczynam przygotę z webhostingtalk bo już nie daję rady z googlowanie niektórych rozwiązań. Witam serdecznie.

 

Chciałbym wyłączyć kompresję gzip na moim serwerze - CentOS z DirectAdminem. Standardowo jest ona włączona. Nie mam pojęcia gdzie znadję jakiś plik konfiguracyjny, który steruje ładowaniem modułów do Apache. Nie znalazłem nigdzie pliki z pozycjami w stylu: "LoadModule".

Będę wdzięczny za pomoc w wyłączeniu kompresji gzip na moim serwerze.

 

/etc/httpd/conf/httpd.conf

Tutaj zakomentowałem linię, która wydaje mi się ładuje mod_deflate:

 

# Deflate module settings
# Include conf/extra/httpd-deflate.conf

#
# This is the main Apache HTTP server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.2> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
# for a discussion of each configuration directive.
#
# Do NOT simply read the instructions in here without understanding
# what they do.  They're here only as hints or reminders.  If you are unsure
# consult the online docs. You have been warned.

ServerRoot "/etc/httpd"
Listen 80

#LoadModule dummy_module /usr/lib/apache/mod_dummy.so
LoadModule php5_module        /usr/lib/apache/libphp5.so
Include /etc/httpd/conf/extra/httpd-phpmodules.conf

User apache
Group apache

ServerAdmin admin@localhost
DocumentRoot "/var/www/html"

<Directory /home/*>
    AllowOverride All
    Options -MultiViews -Indexes FollowSymlinks IncludesNoExec +Includes
<Limit GET POST OPTIONS PROPFIND>
    Order allow,deny
    Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
    Order deny,allow
    Deny from all
</LimitExcept>
</Directory>

<Directory />
    Options All
    AllowOverride All
</Directory>

<Directory "/var/www/html">
    Options -Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
   <IfModule mod_suphp.c>
        suPHP_Engine On
        suPHP_UserGroup webapps webapps
        SetEnv PHP_INI_SCAN_DIR
   </IfModule>
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html index.htm index.shtml index.php index.php5 index.php4 index.php3 index.phtml index.cgi
</IfModule>

<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

ErrorLog /var/log/httpd/error_log
LogLevel warn

<IfModule log_config_module>
    #replace %b with %O for more accurate logging
    <IfModule mod_logio.c>
      LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
      LogFormat "%h %l %u %t \"%r\" %>s %O" common
      LogFormat "%O %I" bytes

      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    CustomLog /var/log/httpd/access_log common
</IfModule>

<IfModule alias_module>
    # Include some DirectAdmin alias
    Include conf/extra/httpd-alias.conf
</IfModule>

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

DefaultType text/plain

<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-gzip .tgz
    AddEncoding x-compress .Z
    AddEncoding x-gzip .gz .tgz
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddHandler cgi-script .cgi
    AddHandler type-map var
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
        AddType video/x-ms-asf .avi
        AddType video/mpeg .mpg
        AddType video/mpeg .mpeg
        AddType video/quicktime .mov
        AddType video/x-ms-wmv .wmv
</IfModule>

#EnableMMAP off
#EnableSendfile off

#######################################################################################
# Do not change anything in included files, because they are rewritten by DirectAdmin #
#######################################################################################

# This is needed for PHP
Include conf/extra/httpd-php-handlers.conf

# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf

# Multi-language error messages
Include conf/extra/httpd-multilang-errordoc.conf

# Fancy directory listings
Include conf/extra/httpd-autoindex.conf

# Language settings
Include conf/extra/httpd-languages.conf

# User home directories
#Include conf/extra/httpd-userdir.conf

# Real-time info on requests and configuration
Include conf/extra/httpd-info.conf

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

# Local access to the Apache HTTP Server Manual
#Include conf/extra/httpd-manual.conf

# Distributed authoring and versioning (WebDAV)
Include conf/extra/httpd-dav.conf

# Various default settings
Include conf/extra/httpd-default.conf

# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf

# Deflate module settings
# Include conf/extra/httpd-deflate.conf

# All the DirectAdmin vhosts
Include conf/extra/directadmin-vhosts.conf

# All suPHP directives
Include conf/extra/httpd-suphp.conf

# For user configurations not maintained by DirectAdmin. Empty by default.
Include conf/extra/httpd-includes.conf

#######################################################################################
# End of included files that are rewritten by DirectAdmin                             #
#######################################################################################

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

 

Mimo to httpd -M wyrzuca:

[Mon Mar 11 06:01:30 2013] [warn] module php5_module is already loaded, skipping
Loaded Modules:
 core_module (static)
 authn_file_module (static)
 authn_default_module (static)
 authz_host_module (static)
 authz_groupfile_module (static)
 authz_user_module (static)
 authz_default_module (static)
 auth_basic_module (static)
 include_module (static)
 filter_module (static)
 deflate_module (static)
 log_config_module (static)
 logio_module (static)
 env_module (static)
 expires_module (static)
 headers_module (static)
 unique_id_module (static)
 setenvif_module (static)
 version_module (static)
 proxy_module (static)
 proxy_connect_module (static)
 proxy_ftp_module (static)
 proxy_http_module (static)
 proxy_scgi_module (static)
 proxy_ajp_module (static)
 proxy_balancer_module (static)
 ssl_module (static)
 mpm_prefork_module (static)
 http_module (static)
 mime_module (static)
 dav_module (static)
 status_module (static)
 autoindex_module (static)
 asis_module (static)
 suexec_module (static)
 cgi_module (static)
 dav_fs_module (static)
 dav_lock_module (static)
 negotiation_module (static)
 dir_module (static)
 actions_module (static)
 userdir_module (static)
 alias_module (static)
 rewrite_module (static)
 so_module (static)
 php5_module (shared)

 

Edytowano przez wmarcin (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zakomentowałeś config,

Powinieneś mieć taki pliczek jak /etc/apache2/mods-available/deflate.conf z tego co pamiętam, ewentualnie find -name deflate* /

Zakomentuj tam wszystko pomiędzy tagami ifmodule.

 

Ale ogółem nie będzie to dobry pomysł, może lepiej powiedz co chcesz osiągnąć to znajdzie się lepsze rozwiązanie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

find / -name "*deflate*":

/etc/httpd/conf/extra/httpd-deflate.conf
/usr/local/directadmin/custombuild/configure/ap1/conf/extra/httpd-deflate.conf
/usr/local/directadmin/custombuild/configure/ap2/conf/extra/httpd-deflate.conf
/var/www/manual/mod/mod_deflate.html.ja.utf8
/var/www/manual/mod/mod_deflate.html.ko.euc-kr
/var/www/manual/mod/mod_deflate.html.en
/var/www/manual/mod/mod_deflate.html

 

 

nano /etc/httpd/conf/extra/httpd-deflate.conf:

# Required modules: mod_deflate
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/mod/mod_deflate.html>
# for further details before you try to setup deflate module.
#

<Location />
# Insert filter
SetOutputFilter DEFLATE

# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# Don't compress images and other uncompressible content
SetEnvIfNoCase Request_URI \
 \.(?:gif|jpe?g|png|rar|zip|exe|flv|swf|mov|wma|mp3|avi|mp?g)$ no-gzip dont-vary

# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</Location>

To samo jest w /usr/local/directadmin/custombuild/configure/ap1/conf/extra/httpd-deflate.conf

 

 

Ja po prostu chcę wyłączyć kompresję gzip na serwerze bo mi przeszkadza. Mam aplikację we flashu, która obsługuje wrzucanie fotek na serwer, później je wczytuje i umożliwia edycję. Problem widzę w kompresji bo fotki mi przycina, zmienia, psuje. Mimo, że httpd-deflate.conf ma wpisane, żeby nie kompresować swf i jpeg to pliki, które obsługuje aplikacja flashowa są kompresowane, wszystkie inne zdjęcia nie.

 

Firebug przy obrazku z flasha pokazuje:

Nagłówki odpowiedzi
Cache-Control	no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection	Keep-Alive
Content-Encoding	gzip
Content-Length	19052
Content-Type	image/png
Date	Tue, 12 Mar 2013 11:16:51 GMT
Expires	Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive	timeout=1, max=96
Last-Modified	Tue, 12 Mar 2013 11:16:51 GMT
Pragma	no-cache
Server	Apache/2
Vary	Accept-Encoding
X-Frame-Options	sameorigin
X-Powered-By	PHP/5.2.17

 

 

 

 

Edytowano przez wmarcin (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys

Zakomentuj więc wszystkie linie z tego pliku: /etc/httpd/conf/extra/httpd-deflate.conf znakiem # i restart apache.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Szybciej byłoby po prostu plik gdzieś przenieść lub nawet całkowicie usunąć...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys

Moduł deflate jest statyczny, więc możesz go jedynie się pozbyć przez rekompilacje apache.

Bez tej konfiguracji nie może kompresować nic, bo standardowo w DA jest to tylko definiowane w tym pliku.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dzięki Czarny za wyjaśnienie. Apache nie będę rekompilował bo pewnie coś rozwalę po drodze, a nie mogę sobie teraz na to pozwolić. Kompresji nie da się też wyłączyć poprzez .htaccess

 

Plik swf nie jest kompresowany, kompresowane jest tylko to co aplikacja flashowa sczytuje z serwera.

Edytowano przez wmarcin (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jesteś pewny, że naprawdę serwer używa do tego gzipa? Może masz jakiś cache, a header w przeglądarce wyświetla się tylko dlatego, że apache "zgłasza, że obsługuje".

 

Zainstalowałbym sobie dla testów jakiegoś nginxa czy cokolwiek innego i przetestował jak tam wygląda sytuacja.

Edytowano przez Archi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys

Po zakomentowaniu tych linijek nie ma opcji na kompresje od strony serwera, podaj link albo wynik z jakiegoś curl --head

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

curl --head do strony głównej:

HTTP/1.1 200 OK
Date: Wed, 13 Mar 2013 08:35:55 GMT
Server: Apache/2
X-Powered-By: PHP/5.2.17
Expires: -1
Last-Modified: Wed, 13 Mar 2013 08:35:55 GMT
X-Frame-Options: sameorigin
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Type: text/html; charset=utf-8

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wydaje mi się, że tutaj:

curl --head --compress do strony głównej:

 

 

HTTP/1.1 200 OK
Date: Wed, 13 Mar 2013 13:48:09 GMT
Server: Apache/2
X-Powered-By: PHP/5.2.17
Expires: -1
Last-Modified: Wed, 13 Mar 2013 13:48:10 GMT
X-Frame-Options: sameorigin
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Type: text/html; charset=utf-8

 

Coś takiego jest w httpd.conf, jednak nie za bardzo wiem co to robi:

 

<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-gzip .tgz
AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler cgi-script .cgi
AddHandler type-map var
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddType video/x-ms-asf .avi
AddType video/mpeg .mpg
AddType video/mpeg .mpeg
AddType video/quicktime .mov
AddType video/x-ms-wmv .wmv
</IfModule>

-----edit

 

Co spaprałem w konfiguracji serwera? Inna domena na tym samym serwerze nie ma kompresji przy zakomentowanych liniach w pliku httpd-deflate.conf

 

Serwer ma jeden adres IP, domeny są postawione na virtualhostach.

 

 

#curl --compress --head http://domena-kolejna.pl

HTTP/1.1 200 OK
Date: Wed, 13 Mar 2013 14:28:31 GMT
Server: Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
X-Powered-By: PHP/5.2.17
Expires: -1
Last-Modified: Wed, 13 Mar 2013 14:28:31 GMT
X-Frame-Options: sameorigin
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Type: text/html; charset=utf-8

 

# curl --compress --head http://domena-glowna.pl
HTTP/1.1 200 OK
Date: Wed, 13 Mar 2013 14:28:40 GMT
Server: Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
X-Powered-By: PHP/5.2.17
Expires: -1
Last-Modified: Wed, 13 Mar 2013 14:28:40 GMT
X-Frame-Options: sameorigin
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Type: text/html; charset=utf-8

 

Edytowano przez wmarcin (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Restart demona http po edycji plików konfiguracyjnych?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Każdorazowo po zmianach jest "service httpd restart". Po zakomentowaniu całego pliku httpd-deflate.conf nagłówki http są takie jak wyżej. Bez zakomentowania domena, którą nazwałem "domena-kolejna.pl" również wyrzuca kompresje gzip. Pod tą domeną ("kolejną") rzeczywiście mogę w ten sposób wyłączać i włączać gzip. Oczywiście przełączałem domenę "główną" w pliku domena-glowna.pl.conf na domenę dodatkową - nic to nie zmieniło. Ogłupiałem.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×