Forum Discussion
Thank you CA_Valli.
I think this works when we are hardcoding the app1 in the condition.
I was wondering if this irule can be agnostic in a way it can be used for any number of Virtual servers.
Example:
testurl.externaldomain.com/app1/api/hello
testurl.extenaldomain.com/app2/api/bye
testdifferenturl.externaldomain.com/app4/api/test/*/*
so all these urls will have one virutal server which should have a common generalized irule.
testurl.externaldomain.com/app1dev/api/hello - it would be a redirect the customer still sees the same url in the browser.
set hostname: app1dev.internaldomain.com/api/hello
set pool : testurl.externaldomain.com_app1dev
testurl.externaldomain.com/app1qa/api/getemployeedetails - it would be a redirect the customer still sees the same url in the browser.
set hostname: app1qa.internaldomain.com/api/getemployeedetails
set pool : testurl.externaldomain.com_app1qa
the way we formulated the url is
externaldomain/appname/whateverapitheappsupports.
appname needs to be appended with internaldomain and the whateverapitheappsupports need to the URI.
whateverapitheappsupports - this can be just /api/hello or /api/employee/1234 or /swagger anything that comes after the app name.
Please let me know if the above example is clear or if i am not explaining it properly.
Notanf5engineer Is the app name always the same length or does it vary between a certain amount of characters? Sadly for this type of configuration you are better off configuring an iRule per virtual server based on what traffic you are sending to the virtual server. In all honesty you should really use the appropriate FQDN rather trying to move pieces of the URL around to meet the needs of each particular application. If you were provided a list of all the applications per FQDN you could create one virtual server with an iRule that references a data-group along with a FQDN match and then send them to the appropraite pool while keeping the iRule relatively short. Typically you would only want to result to using an iRule for this URL modification if for some reason these FQDNs had to be formatted the way you have stated.
- Notanf5engineerApr 03, 2023Nimbostratus
Hi Paulius,
The appname varies. The reason why we are trying to create an appname.internaldomain.com is because the service hosts all the apps with a single ip in front but the hostnames vary..(if you are familiar with Azure App service hosted in an internal ASE)
I understand this is very esoteric. We were able to achieve a generalized irule for ip based pools. Since these are hostnames it gets very tricky. The issue with creating an irule per app is like we have around 80 apps and it might need similar functionality and managing all of them with different virtual servers and irules is lot of overhead but can be done.
Please let me know if you have any suggestions.Thank you.