Varnish – neuer Lack

Nachdem ich varnish immer noch nicht versucht habe nehme ich mir das jetzt mal schriftlich vor. Ich glaub fest daran, dass so HTTP accelerator ordentlich was nutzt. Und eben der darauf spezialisierte Varnish Proxy erscheint mir viel besser zu sein als der gute alte Squid.

Das Problem, was ich mit Varnish noch habe ist, dass ich mir überlege wo ich das Teil im Netz aufhängen werden. Wahrscheinlich erst einmal nur auf meiner privaten Kiste vor dem Apache. Aber was tun bei komplexen Setups? Ich hab noch zuviele Frage über die ich mir im klaren werden muss:

  • Vor oder hinter einem HAProxy? Dahinter wäre es redundant; davor aber performant.
  • Was passiert falls ich persistente Sessions benötige mit diesen auf dem Weg zum App-Server?

Jemand schon Erfahrung damit?

Fangen wir erst einmal langsam im Heimgebrauch damit an …

HAProxy Notizen

Nachdem ich die Dinge immer er-google-n muss schreibe ich mir sie mal hier direkt auf:

  • Backened abhängig vom Hostnamen auswählen:
            acl aclHAPROXY hdr_dom(host) -i haproxy.it4sport.de
            use_backend HAPROXY if aclHAPROXY
    
  • Backend abhängig vom Verzeichnis auswählen:
            acl aclDEV  url_beg /devel/
            use_backend DEV if aclDEV
    

    Im entsprechenden Backend muss man sich dann um den Pfad kümmern und den Request anpassen:

            reqrep ^([^\ ]*)\ /devel/(.*)     \1\ /\2
    
  • Zusätzlichen Header einbauen:
            reqadd X-HAPROXY-BACKEND:\ devel
    

    Damit weiß die Anwendung etwa über welches Backend die Seite aufgerufen wurde.

Prevent Dos Attacks

Auf der HAProxy News Seite habe ich eben den kurzen Artikel „HAProxy to counter DoS attacks“ gelesen. Willy Tarreau schreibt dort warum HAProxy gegen Slowloris hilft. Sehr lesenswert! Ein Grund mehr warum HAProxy mein favorisierter Loadbalancer für http(s) ist.

Aber auch ohne HAProxy lässt sich solch ein Angriff beim Apache Webserver abwehren. Dafür kann man mod_qos nehmen. Eine gute kurze Anleitung für Debian findet sich wie so häufig bei howtoforge.com. Das Modul baue ich mir sicher vor dem nächsten Rothsee-Triathlon-Festival auf meinem Server ein 😀

Wehe dem, der slowloris gegen meine private Kiste einsetzt! 😀

nginx – sagt mir (noch) nix

Oha, eben habe ich bei Netcraft gelesen, dass nginx der dritt beliebteste Webserver hinter Apache und IIs ist (ausgenommen den Google-Webserver). Lighttpd oder Cherokee werden nicht mal erwähnt. Ich bin überrascht weil er mir so gar nichts bisher gesagt hat. Aber scheinbar ist er wirklich interessant. nginx ist wohl deutlich mehr als ein Webserver, der Artikel hinter diesem Link zeigt auf, dass er für wordpress.com eingesetzt wird und dort sogar das Loabalancing von Pound übernommen hat. Sie hatten sich vorher die üblichen Verdächtigen LVS, HAProxy, Perlbal angesehen.

Damit kommt der Webserver unbedingt auf die „merke ich mir Liste