Forum Discussion
Irule Vs rewrite - FQDN hostname
Ok copy. Let me try and report back.
One last thing, there is a port needed for the pool side connection
- Mr__TFeb 23, 2023
Cirrus
Below is what I have in 1 irule. Fails because the backend server is expecting---https://ServerName.Domain.com:8443/etc/bc/ui5_ui5/ui2/ushell/shells/abap/something.html"
But I want the client browser to have the below once the server completes its jobs post request.
https://FQDN/etc/bc/ui5_ui5/ui2/ushell/shells/abap/something.html
Hope this makes sense.
when HTTP_REQUEST {
# Check if requested host doesn't start with www.example.com
if {not ([string tolower [HTTP::host]] starts_with "https://FQDN/")}{# Replace the host header value with newhost.example.com
HTTP::header replace Host "https://ServerName.Domain.com:8443/"
if { [HTTP::uri] starts_with "/" } {
set uri [string map -nocase {"/" "/etc/bc/ui5_ui5/ui2/ushell/shells/abap/something.html"} [HTTP::uri]]
HTTP::uri $uri
}
}
}- Amine_KadimiFeb 23, 2023
MVP
You don't need to specify https nor the port on the host header, cause those are specified elsewhere, https is by using a ssl servers profile and the port is at the pool member.
Alsop testing if uri starts with / is useless since all uris stars with /.
If I understand correctly your requirement, why not first redirecting user to target path, then doing just the host replacement.
Something like this that :
when HTTP_REQUEST { if { [HTTP::uri] equals "/"} { HTTP::redirect "https://[HTTP::host]/your/full/path/something.html" } else { HTTP::header replace Host ServerName.Domain.com } }- Mr__TFeb 23, 2023
Cirrus
Thanks for the clarifications Amine_Kadimi.
Let me try this and report back.
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com