alhall_3584
Aug 20, 2012Nimbostratus
iRule to redirect
I'm new at this and I trying to redirect an https (443) request to an Apache/Tomcat server with the url of . When I try to connect to it with I get an error. Please assist. Thanks!
where is the apache/tomcat? is it pool member of the https virtual server or is it external server? what url do you want to send to it?
e.g.
[root@ve10:Active] config b virtual bar list
virtual bar {
snat automap
pool foo
destination 172.28.19.79:443
ip protocol 6
rules myrule
profiles {
clientssl {
clientside
}
http {}
tcp {}
}
}
[root@ve10:Active] config b pool foo list
pool foo {
members 200.200.200.101:8080 {}
}
[root@ve10:Active] config b rule myrule list
rule myrule {
when HTTP_REQUEST {
if {[HTTP::uri] eq "/"} {
HTTP::uri "/site.html"
}
}
}
[root@ve10:Active] config ssldump -Aed -nni 0.0 port 443 or port 8080 -k /config/ssl/ssl.key/default.key
New TCP connection 1: 172.28.19.251(39545) <-> 172.28.19.79(443)
1 1 1345486212.2547 (0.0101) C>S SSLv2 compatible client hello
1 2 1345486212.2547 (0.0000) S>CV3.1(81) Handshake
1 3 1345486212.2547 (0.0000) S>CV3.1(953) Handshake
1 4 1345486212.2547 (0.0000) S>CV3.1(4) Handshake
1 5 1345486212.2565 (0.0017) C>SV3.1(262) Handshake
1 6 1345486212.2565 (0.0000) C>SV3.1(1) ChangeCipherSpec
1 7 1345486212.2565 (0.0000) C>SV3.1(36) Handshake
1 8 1345486212.2816 (0.0251) S>CV3.1(1) ChangeCipherSpec
1 9 1345486212.2816 (0.0000) S>CV3.1(36) Handshake
1 10 1345486212.2836 (0.0019) C>SV3.1(175) application_data
---------------------------------------------------------------
HEAD / HTTP/1.1
User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
Host: 172.28.19.79
Accept: */*
---------------------------------------------------------------
New TCP connection 2: 200.200.200.10(39545) <-> 200.200.200.101(8080)
1345486212.2845 (0.0007) C>S
---------------------------------------------------------------
HEAD /site.html HTTP/1.1
User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
Host: 172.28.19.79
Accept: */*
---------------------------------------------------------------
when HTTP_REQUEST {
if { [HTTP::uri] equals "/" } {
HTTP::uri "/site.html"
}
The iRule when then cause the URI to to the server to be /site.html. Now if you want you change change it to a full redirect this will force the customer URI to change so if they bookmark the site it will be correct.
HTTP::redirect "http://[HTTP::host]:8080:/site.html or
HTTP::redirect "https://[HTTP::host]/site.html
e.g.
curl -I http://x.x.x.x:8080/site.html -H "Host: something.something.com"
x.x.x.x is the server ip
Still not working got this response back:
login as: admin
Using keyboard-interactive authentication.
Password:
Last login: Tue Aug 21 14:05:45 2012 from xxx.x.xxx.252
[admin@:Active] ~ curl -I
-H "Host: itlml.affsc.."
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=99B6B673D0F19F8402EC7725BA3BCEB3; Path=/
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Tue, 21 Aug 2012 20:07:19 GMT
[admin@:Active] ~