not sure if i understand correctly or not. this is an example. i used http instead of https because it is a bit easier to display http header.
[root@ve1023:Active] config b virtual bar list
virtual bar {
snat automap
pool foo
destination 172.28.19.79:80
ip protocol 6
rules myrule
profiles {
http {}
tcp {}
}
}
[root@ve1023:Active] config b pool foo list
pool foo {
members {
200.200.200.101:80 {}
200.200.200.102:80 {}
}
}
[root@ve1023:Active] config b rule myrule list
rule myrule {
when HTTP_REQUEST {
if {[string tolower [HTTP::host]] equals "aaa.com"}{
if {[string tolower [HTTP::uri]] starts_with "/testing"}{
HTTP::uri "/go[HTTP::uri]"
}
}
}
when HTTP_REQUEST_SEND {
clientside {
HTTP::header replace Host [class match -value [LB::server addr] equals ip_to_host]
}
}
}
[root@ve1023:Active] config b class ip_to_host list
class ip_to_host {
{
"200.200.200.101" { "bbb.com" }
"200.200.200.102" { "ccc.com" }
}
}
1
[root@ve1023:Active] config ssldump -Aed -nni 0.0 port 80
New TCP connection 1: 172.28.19.253(45217) <-> 172.28.19.79(80)
1322052891.8574 (0.0022) C>S
---------------------------------------------------------------
HEAD /testing/abc HTTP/1.1
User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8r zlib/1.2.3 libidn/0.6.5
Host: aaa.com
Accept: */*
---------------------------------------------------------------
New TCP connection 2: 200.200.200.10(45217) <-> 200.200.200.101(80)
1322052891.8582 (0.0007) C>S
---------------------------------------------------------------
HEAD /go/testing/abc HTTP/1.1
User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8r zlib/1.2.3 libidn/0.6.5
Host: bbb.com
Accept: */*
---------------------------------------------------------------
2
[root@ve1023:Active] config ssldump -Aed -nni 0.0 port 80
New TCP connection 1: 172.28.19.253(45219) <-> 172.28.19.79(80)
1322052913.8332 (0.0021) C>S
---------------------------------------------------------------
HEAD /testing/abc HTTP/1.1
User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8r zlib/1.2.3 libidn/0.6.5
Host: aaa.com
Accept: */*
---------------------------------------------------------------
New TCP connection 2: 200.200.200.10(45219) <-> 200.200.200.102(80)
1322052913.8344 (0.0011) C>S
---------------------------------------------------------------
HEAD /go/testing/abc HTTP/1.1
User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8r zlib/1.2.3 libidn/0.6.5
Host: ccc.com
Accept: */*
---------------------------------------------------------------