it-swarm.com.de

Beschränken Sie mod_pagespeed auf bestimmte Domänen auf einem Server

Wenn ein Server die folgenden Domänen hostet: -

http://exampleA.com
http://exampleB.com
http://exampleC.com

Wie ist es möglich, mod_pagespeed nur für Domänen http://exampleA.com und http://exampleC.com zu aktivieren aber nicht http://exampleB.com ?

Ich habe in der Dokumentation für Domains nachgelesen , bin mir aber nicht sicher, ob ich herausfinden kann, ob dies möglich ist, um ...

Ich habe versucht, Folgendes in pagespeed.conf einzufügen und Apache neu zu starten, aber mod_pagespeed gilt immer noch für alle Domänen ...

ModPagespeedDomain http://exampleA.com
ModPagespeedDomain http://exampleC.com
4
zigojacko

Nachdem ich ein wenig herumgesucht und herumgespielt habe, habe ich es geschafft, es herauszufinden und nun ein Arbeitsszenario für mod_pagespeed zu haben, um nur auf bestimmten Domänen (vhosts) auf demselben Server zu arbeiten.

Meine Konfiguration basiert auf einem CentOs 6-Build von Apache 2, auf dem Parallels Plesk Panel ausgeführt wird.

Erstellen Sie eine separate Pagespeed-Konfigurationsdatei und speichern Sie sie an einem Ort, der nicht a) automatisch überschrieben oder b) automatisch geladen wird (d. H. In den vorhandenen Verzeichnissen conf oder conf.d). In meinem Beispiel habe ich /etc/httpd/myconf erstellt und die Datei vhosts-pagespeed.conf benannt.

Diese Konfigurationsdatei enthält die mod_pagespeed -Konfiguration, die Sie für bestimmte Domänen verwenden möchten (Sie können beliebig viele davon erstellen). Zum Beispiel ist meins wie:

#https://developers.google.com/speed/pagespeed/module/configuration#virtual-hosts

<IfModule pagespeed_module>
ModPagespeed on
AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html
ModPagespeedFileCachePath            "/var/cache/mod_pagespeed/"
ModPagespeedFileCacheInodeLimit        500000
ModPagespeedAvoidRenamingIntrospectiveJavascript on
ModPagespeedLibrary 105527 ltVVzzYxo0 //ajax.googleapis.com/ajax/libs/prototype/1.6.1.0/prototype.js
ModPagespeedLibrary 92501 J8KF47pYOq //ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js
ModPagespeedLibrary 141547 GKjMUuF4PK //ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js
ModPagespeedLibrary 43 1o978_K0_L http://www.modpagespeed.com/rewrite_javascript.js

ModPagespeedEnableFilters extend_cache
ModPagespeedEnableFilters rewrite_javascript
ModPagespeedEnableFilters rewrite_css
ModPagespeedEnableFilters combine_javascript
ModPagespeedEnableFilters combine_css
ModPagespeedEnableFilters inline_javascript
ModPagespeedEnableFilters inline_css
ModPagespeedEnableFilters insert_img_dimensions
ModPagespeedEnableFilters move_css_to_head
ModPagespeedEnableFilters lazyload_images
ModPagespeedEnableFilters rewrite_images
ModPagespeedEnableFilters outline_css
ModPagespeedEnableFilters flatten_css_imports
ModPagespeedEnableFilters inline_import_to_link
ModPagespeedEnableFilters local_storage_cache
ModPagespeedEnableFilters collapse_whitespace
ModPagespeedEnableFilters elide_attributes
ModPagespeedEnableFilters remove_comments

ModPagespeedDisableFilters rewrite_javascript,combine_javascript

ModPagespeedModifyCachingHeaders off

ModPagespeedDomain *
<Location /mod_pagespeed_beacon>
      SetHandler mod_pagespeed_beacon
</Location>
<Location /mod_pagespeed_statistics>
    Order allow,deny
    Allow from localhost
    Allow from 127.0.0.1
    SetHandler mod_pagespeed_statistics
</Location>
<Location /mod_pagespeed_console>
    Order allow,deny
    Allow from localhost
    Allow from 127.0.0.1
    SetHandler mod_pagespeed_console
</Location>
<Location /mod_pagespeed_message>
    Allow from localhost
    Allow from 127.0.0.1
    SetHandler mod_pagespeed_message
</Location>
<Location /mod_pagespeed_referer_statistics>
    Allow from localhost
    Allow from 127.0.0.1
    SetHandler mod_pagespeed_referer_statistics
</Location>
</IfModule>

In diesem Fall müssen Sie den globalen mod_pagespeed deaktivieren und nur die vhost-spezifische Pagespeed-Konfiguration in die Domänen einfügen, für die Sie mod_pagespeed aktivieren möchten.

Navigieren Sie zu /var/www/vhosts/domain.com/conf und erstellen Sie die Datei vhost.conf mit dem Include (dies ist alles, was diese Datei enthalten muss): -

Include /etc/httpd/myconf/vhosts-pagespeed.conf

Deaktivieren Sie globales /etc/httpd/conf.d/pagespeed.conf, indem Sie folgendermaßen vorgehen:

ModPagespeed off

Starten Sie dann den Server neu: -

service httpd restart

Überprüfen Sie nun, ob mod_pagespeed für domain.com aktiviert ist, mit dem Sie den vhost um die benutzerdefinierte Seitengeschwindigkeit conf erweitert haben.

Wenn dies nicht funktioniert, müssen Sie möglicherweise den vhost für domain.com neu konfigurieren.

 /usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=domain.com
4
zigojacko

Wenn Sie .htaccess-Dateien verwenden können, können Sie einfach ModPagespeed off in httpd.conf festlegen und dies dann im Stammverzeichnis .htaccess für jede Domain tun, für die Sie die Aktivierung wünschen:

<IfModule pagespeed_module>

    ModPagespeed on

</IfModule>

Wenn Sie Apache 2.4+ verwenden, können Sie die Direktive <If> sogar für Fälle verwenden, in denen dieselbe .htaccess -Datei für mehrere Domänen verwendet wird, oder wenn Sie beispielsweise den .htaccess in einem Git haben Repository und Sie verwenden dasselbe für die Produktions- und Entwicklungsstandorte, möchten jedoch ModPagespeed on nur für den Produktionsstandort:

<IfModule pagespeed_module>

    <If "req('Host') == 'www.example.com'">
        ModPagespeed on
    </If>
    <Else>
        ModPagespeed off
    </Else>

</IfModule>
3
Chris Wheeler