you can use HTTP::header insert.
HTTP::header
https://devcentral.f5.com/wiki/iRules.HTTP__header.ashx
e.g.
config
[root@ve11a:Active:In Sync] config tmsh list ltm rule qux
ltm rule qux {
when HTTP_REQUEST {
HTTP::header insert "WL-Proxy-SSL" "true" "IS_SSL" "ssl"
}
}
trace
[root@ve11a:Active:In Sync] config ssldump -Aed -nni 0.0 port 80
New TCP connection 1: 192.168.207.56(61516) <-> 172.28.24.10(80)
1416661232.4021 (0.0036) C>S
---------------------------------------------------------------
GET / HTTP/1.1
Accept: */*
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3; MS-RTC LM 8; .NET4.0E)
Accept-Encoding: gzip, deflate
Host: 172.28.24.10
Connection: Keep-Alive
Cache-Control: no-cache
---------------------------------------------------------------
New TCP connection 2: 200.200.200.14(61516) <-> 200.200.200.101(80)
1416661232.4038 (0.0016) C>S
---------------------------------------------------------------
GET / HTTP/1.1
Accept: */*
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3; MS-RTC LM 8; .NET4.0E)
Accept-Encoding: gzip, deflate
Host: 172.28.24.10
Connection: Keep-Alive
Cache-Control: no-cache
WL-Proxy-SSL: true
IS_SSL: ssl
---------------------------------------------------------------