diff options
author | jim-p <jimp@pfsense.org> | 2014-12-21 20:10:30 -0500 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2014-12-21 20:10:30 -0500 |
commit | 30967fa4bc6cbce48e25829ad133611b65f30f8a (patch) | |
tree | c9fab91fbf3caddd27d750c9281ed2739acdb5cd /config/haproxy-devel | |
parent | 9575f87529d7c5f63c9454b84e27a474d6283eac (diff) | |
parent | ddb8836b32c9e2baccfe4573941224b126cf50cb (diff) | |
download | pfsense-packages-30967fa4bc6cbce48e25829ad133611b65f30f8a.tar.gz pfsense-packages-30967fa4bc6cbce48e25829ad133611b65f30f8a.tar.bz2 pfsense-packages-30967fa4bc6cbce48e25829ad133611b65f30f8a.zip |
Merge pull request #756 from PiBa-NL/haproxy_multi_bind_fix
Diffstat (limited to 'config/haproxy-devel')
-rw-r--r-- | config/haproxy-devel/haproxy.inc | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/config/haproxy-devel/haproxy.inc b/config/haproxy-devel/haproxy.inc index a596b241..fd086cfc 100644 --- a/config/haproxy-devel/haproxy.inc +++ b/config/haproxy-devel/haproxy.inc @@ -634,7 +634,6 @@ function write_backend($configpath, $fd, $name, $pool, $frontend) { $a_servers = &$pool['ha_servers']['item']; $frontendtype = $frontend['type']; - $frontend_ip = haproxy_interface_ip($frontend['extaddr']); fwrite ($fd, "backend " . $name . "\n"); // https is an alias for tcp for clarity purposes @@ -785,11 +784,19 @@ function write_backend($configpath, $fd, $name, $pool, $frontend) { $pool['retries'] = 3; fwrite ($fd, "\tretries\t\t\t" . $pool['retries'] . "\n"); + $uses_ipv6 = false; + $ips = get_frontend_ipport($frontend); + foreach($ips as $ip){ + $uses_ipv6 = is_ipaddrv6($ip['addr']); + if ($uses_ipv6) + break; + } + if ($pool['transparent_clientip']) { - if (is_ipaddrv4($frontend_ip)) - fwrite ($fd, "\tsource 0.0.0.0 usesrc clientip\n"); - else + if ($uses_ipv6) fwrite ($fd, "\tsource ipv6@ usesrc clientip\n"); + else + fwrite ($fd, "\tsource 0.0.0.0 usesrc clientip\n"); } $uri = $pool['monitor_uri']; |