does Varnish (between nginx frontend and apache backend) need separate instances/listeners for IPv4/6 dual-stack use?

d1+varnish at postinbox.com d1+varnish at postinbox.com
Tue May 17 19:09:45 CEST 2011


my current varnish-using web stack, running on 64-bit linux, is,

    nginx
        multiple listeners on IPv4:80, IPv4:443
        proxypass to varnish-cache on 127.0.0.1:9000
      |
      |
    varnish-cache
        listener on 127.0.0.1:9000
        filter/pass to 'faux-CDN' on Apache2
            'img' -> 127.0.0.1:12003
            'css' -> 127.0.0.1:12002
            'js'  -> 127.0.0.1:12001
            '...' -> 127.0.0.1:12000
      |
      |
    apache2/mod_php,mod_deflate +
    Pressflow6/memcached(cache_inc/session_inc/lock_inc)
        listeners/vhosts on 127.0.0.1:1200{0,1,2,3}

all works as planned.

i'm now adding IPv6 listeners on assigned AAAA records @ each nginx
server for hybrid, dual-stack IPv4+IPv6 operation,

    nginx
-       multiple listeners on IPv4:80, IPv4:443
+-      multiple listeners on IPv4/IPv6:80, IPv4/IPv6:443

i.e., at nginx.conf

  server {
     ...
     listen [::]:80;
     server_name myserver.domain.com;
     (...)
  }

my question is -- what to do with Varnish config, and, ultimately, *its*
apache backend(s)?

is it sufficient to keep one varnish instance listening only on IPv4 to
both of nginx's ingress AddressFamilies, passed via a single/common
proxypass?
or, do i need separate Varnish instances/listeners, one for each
AddressFamilty -- effectively setting up a parallel path for IPv4 or
IPv6 traffic?
and, in any case, should Varnish-config then get Apache backends
config'd for each IPv4/6 AddressFamily?

thanks.




More information about the varnish-misc mailing list