19-Sep-2023 13:36
Hello All,
I am looking to replace the FQDN of a URL with the server name keeping the remainder of the URL after the FQDN. Trying to find the simplest way to acheive this. Dont want to redirect the entire URL, just swap the FQDN.
19-Sep-2023 14:56 - edited 19-Sep-2023 15:13
Hi @Mr__T so you are just wanting to rewrite the Host header in the communication from client->BIG-IP->server, but not issue a redirect, correct? You can do that in an LTM policy or in an iRule.
ltm policy host_rewrite {
last-modified 2023-09-19:14:47:44
requires { http }
rules {
host_rewrite_all_traffic {
actions {
0 {
http-header
replace
name Host
value new.fqdn.com
}
}
}
}
status published
strategy first-match
}
when HTTP_REQUEST priority 500 {
HTTP::header replace host "new.fqdn.com"
}
Note that this is not rewriting the location headers being returned from the server, and is assuming they are a) returning the original fqdn and b) are fine receiving a rewritten host. If that's the not the case, you'll need to do some more work. Post back with more details if necessary. HTH...Jason
20-Sep-2023 07:41
Thanks @JRahm . Let me try the iRULE
20-Sep-2023 06:34
Is one of the requirements to rewrite the request differently depending on the pool member chose. during the LB selection? For example, if you have 2 origin servers, they probably have unique names. So the rewrite may have to match the server that is selected on the server side of the connection.
20-Sep-2023 07:40
Correct, 2 servers that can't use FQDN. Wont be LB per say more like failover.
20-Sep-2023 15:42
note:
pool member is selected after the first http request. you need to forces the selection. if you planning "if pool member x then host names y"
or create two pools. once for each FQDN name. "if (pool 1 no members) then (host name y + user pool 2) else (host name x)"