Squid Reverse Proxy
Durch den Einsatz von einem Reverse Proxy, in unserem Fall Squid, ist es möglich Webseiten zwischenzuspeichern und extrem schnell auszuliefern. Dies ist besonders hilfreich bei anonymem Zugriff auf Drupal.
Squid hat als ein Webproxy/HTTP-Proxy den Vorteil, dass er sehr einfach in der Handhabung ist ohne großen zusätzlichen Aufwand gut mit Drupal 7 zusammenarbeitet. Man benötigt nur ein Tool um den Zwischenspeicher von Squid über Drupal zu leeren, damit Drupal den Inhalt der Webseite nach einer Änderung auch im Cache des Proxy leert oder ändert.
Das Setup / HowTo für Drupal
1. Squid installieren und konfigurieren
Um Squid zu installieren, kann man das Tool yum benutzen:
yum install squid
Jetzt benötigt man die Konfiguration für Squid, hierzu haben wir bei Github ein Repository eingerichtet
cd /etc/squid/
rm squid.conf ; wget https://raw.githubusercontent.com/afdata/drupal-squid-config/master/squid.conf
Jetzt muss man seine IP-Adresse für den Squid-Dienst in die Datei /etc/hosts eintragen und
/etc/hosts
178.63.27.201 external-ip-squid
service squid restart
2. Drupal anpassen
Damit Drupal weiß, dass es jetzt hinter einem Reverse Proxy liegt, muss in der Drupal-Konfigurationsdatei sites/default/settings.php folgendes eingetragen werden:
$conf['reverse_proxy'] = TRUE;
$conf['reverse_proxy_header'] = 'HTTP_X_FORWARDED_FOR';
$conf['reverse_proxy_addresses'] = array('178.63.27.201');
Die IP 178.63.27.201ist die Quelladresse des Reverse Proxy. Von dieser Adresse aus wird auf den Webserver und Drupal zugegriffen.
3. Drupal-Module "purge" und "expire" installieren
Da das Modul "purge" nicht ohne das Drupal Modul "expire" funktioniert, müssen beide Module installiert werden.
Projekt Webseite von Purge: http://drupal.org/project/purge
Projekt Webseite von Expire: http://drupal.org/project/expire
cd sites /all/modules/
wget http://ftp.drupal.org/files/projects/purge-7.x-1.6.tar.gz
tar -xvf purge-*.gz
wget http://ftp.drupal.org/files/projects/expire-7.x-2.0-rc4.tar.gz
tar -xvf expire-*.gz
rm expire-*.gz
rm purge-*.gz
Weitere Informationen, wie man Module in Drupal installiert bekommt man hier:
http://drupal.org/documentation/install/modules-themes/modules-7
4. Das Modul Purge konfigurieren
Das Modul muss erst einmal aktiviert werden; Hierzu geht man im Drupal Backend auf:
/admin/modules
Nachdem das Modul Purge aktiviert wurde, muss man die Squid URL für Drupal eintragen:
/admin/config/development/performance/purge
http://178.63.27.201:80
Testen der Drupal Performance
Wir führen erst einmal einen kleinen Test in Firefox mit dem Plugin Firebug durch und greifen auf unsere Webseite zu.Wichtig ist hierbei, dass Cookies gelöscht und der Browser-Cache geleert werden, um gute Resultate zu erzielen.

Wir sehen einen HTTP Response Code 200 (OK) und die Antwortzeit beträgt ca. 40 ms auf der Website.
Infos zu diesen Setup
- Es ist bei unseren Squid Hosts wichtig, dass die Cookies immer richtig gesetzt werden.
- Unser Git Repo: github.com/afdata/drupal-squid-config
- Squid Webseite: http://www.squid-cache.org/
Alternativen zu Squid
- Nginx als Reverse Proxy
- Apache als Reverse Proxy mit mod_proxy und mod_cache
- Varnish
- Apache Traffic Server - ein Web Reserve Proxy Server
Neuen Kommentar hinzufügen