NFsec Logo

Identyfikacja serwerów varnishowych

06/08/2012 w Administracja Brak komentarzy.  (artykuł nr 362, ilość słów: 300)

P

rzy dużej liczbie serwerów WWW zajmujących się akceleracją HTTP, na który kierowany jest ruch sieciowy – trudno czasami namierzyć, który serwer powoduje jakieś problemy. Z pomocą przychodzi parametr identity (-i), który pozwala ustawić tożsamość serwera i udostępnić tą informację w konfiguracji serwera varnish za pomocą opcji server.identity.

Na przykład – informacje o nazwie serwera tj. hostname chcemy przekazywać w nagłówku HTTP, aby za pomocą dodatku do przeglądarki Firefox dowiedzieć się, który serwer odpowiedział nam jako klientowi. W tym celu w pliku konfiguracyjnym varnish’a odpowiedzialnym za jego start (/etc/sysconfig/varnish) wystarczy dopisać, co będzie identyfikowało nasz serwer:

WHOIAM=`hostname -s`

DAEMON_OPTS="-a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT} \
             -f ${VARNISH_VCL_CONF} \
             -T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT} \
             -t ${VARNISH_TTL} \
             -p thread_pools=4 \
             -w ${VARNISH_MIN_THREADS},${VARNISH_MAX_THREADS},${VARNISH_THREAD_TIMEOUT} \
             -u varnish -g varnish \
             -S ${VARNISH_SECRET_FILE} \
             -s ${VARNISH_STORAGE} \
             -i ${WHOIAM}"

I dodać tą informację do nagłówka HTTP wysyłanym do klienta, czyli w pliku /etc/varnish/default.vcl w sekcji sub vcl_deliver dodać kod:

if (obj.hits > 0) {
    set resp.http.X-Cache = "HIT from " + server.identity;
  } else {
    set resp.http.X-Cache = "MISS from " + server.identity;
}

Więcej informacji: Varnish

Kategorie K a t e g o r i e : Administracja

Tagi T a g i : , , , , , , , ,

Komentowanie tego wpisu jest zablokowane.