squid als reverse proxy / squid_plugin.inc.php - wie aktivieren?

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von isol, 13. Juni 2014.

  1. isol

    isol New Member

    Hallo, wir bauen gerade unsere neuen Systeme mit ipsconfig 3 auf und würden gerne den squid als reverse proxy einsetzen. Wenn ich das richtig sehe, gibt es dafür bereits ein plugin, das genau das macht, was wir wollen (domainliste usw.), es liegt in modules_available, aber was muss man tun, um es zu nutzen (außer einen link nach modules_enabled setzen)? Ich habe dazu leider nichts gefunden.

    Danke für einen Tip,
    Jakob
     
  2. Till

    Till Administrator

    Hallo,

    das Plugin muss an sich nur durch einen symlink in plugons-enabled aktiviert werden. Ob es aber in der aktuellen Version funktioniert kann ich nicht sagen da es derzeit keinen maintainer hat und auch seit längerem nicht getestet wurde, wir haben es nur als legacy plugin im source Baum gelassen.

    Wenn Ihr apache bschleunigen wollt, würde ich eher zu varnish raten, den kann man ohne die Notwendigkeit eines zusätzlichen Plugins vor den apache schalten. es muss lediglich das apache vhost mater template und das apache_ispconfig.conf template angepasst werden.
     
  3. isol

    isol New Member

    Naja, von der squid-Seite her könnte ich das sicher maintainen, da kenn ich mich aus. Das ist auch der Grund warum ich nicht einfach umsteigen will, mit squid haben wir weine menge erfahrung. Ich habe aber das Gefühl, irgendwas muss da schon noch passieren, ich sehe jedenfalls keine erzeugten Dateien in /etc/squid/ . (Das Plugin ist wie beschrieben mit Symlink aktiviert und ich habe eine neue Website angelegt).

    Müsste nicht die Funktion proxy_reverse_insert oder web_domain_insert von irgendwoanders aus aufgerufen werden? Anders gefragt: wie "funktioniert" ein plugin in ipsconfig3?

    Grüße Jakob
     
  4. Till

    Till Administrator

    Plugins sind eventbasiert. das plugin subscribed sich selbst für bestimmte events und die Funktionen werden dann automatisch aufgerufen, wenn dieser event eintritt.

    im Falle dieses Plugins werden dei Funktionen aufgerufen wenn man eine webseite einfügt, updated oder löscht. siehe code:

    Code:
    $app->plugins->registerEvent('web_domain_insert', $this->plugin_name, 'insert');
    		$app->plugins->registerEvent('web_domain_update', $this->plugin_name, 'update');
    		$app->plugins->registerEvent('web_domain_delete', $this->plugin_name, 'delete');
     
  5. isol

    isol New Member

    Irgendwas geht da aber schief:

    19.06.2014-16:58 - DEBUG - Unable to register function 'insert' from plugin 'squid_plugin' for event 'proxy_reverse_insert'
    19.06.2014-16:58 - DEBUG - Unable to register function 'update' from plugin 'squid_plugin' for event 'proxy_reverse_update'
    19.06.2014-16:58 - DEBUG - Unable to register function 'delete' from plugin 'squid_plugin' for event 'proxy_reverse_delete'

    wie kann ich da mehr herausfinden?
     
  6. isol

    isol New Member

    Es sieht so aus als gäbe es die Funktion "'proxy_reverse_*" nicht (mehr)? Die werden auch in dem nginx plugin verwendet.
     
  7. Till

    Till Administrator

    Das ist ok, die verwendeten events sind die, die ich gepostet habe. die zeilen welche diese warnings verursachen werden nicht mehr verwendet, Du kannst die also ignorieren oder die zeilen im plugin auskommentieren.

    Das Problem scheint zu sein dass es keine squidRewriteRules.py.master Datei in /usr/local/ispconfig/server/conf/ gibt, habe auch mal in älteren versionen von ispconfig nachgesehen, die scheint es nie gegeben zu haben. der Ursprüngliche Autor des Plugins schient sie nicht mit committed zu haben. das ist die Vorlagendatei die als /etc/squid/squidRewriteRules.py geschrieben wird.
     
  8. isol

    isol New Member

    I see. Ich glaube das Problem war dass er ein vorhandenes Skript aus dem Zope-Umfeld verwendet hat, und das war copyrighted. Eigentlich ist das aber glaube ich overkill... nur weiß ich jetzt auch nicht wie das reverse caching überhaupt gehandhabt wurde. Ich vermute mal dass man einfach den apache auf einem abweichenden Port betreibt und die Requests dann "portmäßig" umschreibt !? Dann ist das auch mit squid recht einfach, da muss man keine komplizierten rewrite-engines einsetzen. Ich werde mal versuchen, das plugin etwas anzupassen.
     
  9. isol

    isol New Member

    So, ich habe ein template für eine domains.txt erstellt und das funktioniert an sich wunderbar; leider ist jedoch in dem squid plugin die SQL-Abfrage so gestellt, dass jeder beliebige DNS-Eintrag der betreffenden Zone einen reverse proxy verpasst bekommt. Schoener und ressourcenschonender wäre es, wenn nur die beim Webserver eingetragene Domain, ggfls. mit Subdomains, jeweils einen reverse proxy Eintrag bekommt. Ich kenne mich aber mit der Tabellenstruktur von IPSConfig nicht so aus; kann mir jemand sagen, wie eine entsprechende Abfrage aussehen müsste?
     
  10. Till

    Till Administrator

    Die stehen alle in der Tabelle web_domain, das Feld heisst "domain".
     

Diese Seite empfehlen