Forum Discussion
Multiple Web Applications behind single VS
I am planning to configure multiple applications/URLs behind one Virtual server for saving my public IPs. Please suggest me how can i achieve it?
Hello John,
You can do it using iRule. Please refer below iRule.
when HTTP_REQUEST
{
switch [HTTP::host] {
"abc.com" {pool abc-pool}
"xyz.com" {pool xyz-pool}
}
}
In this way, you can add multiple application urls alongwith its associated pool. Entries here are case sensitive. Also make sure Virtual Server Configuration like SSL& http profiles, SNAT etc is proper to handle all requests.
Hope this will fulfill your requirement!
Mayur
As per my knowledge there is no limitation as such. I have same setup in our environment and i've taken more than 100 web application behind one VS through same irule.
I hope this resolves your query, if yes, please mark this question as solved.
Mayur
Hello John,
You can do it using iRule. Please refer below iRule.
when HTTP_REQUEST
{
switch [HTTP::host] {
"abc.com" {pool abc-pool}
"xyz.com" {pool xyz-pool}
}
}
In this way, you can add multiple application urls alongwith its associated pool. Entries here are case sensitive. Also make sure Virtual Server Configuration like SSL& http profiles, SNAT etc is proper to handle all requests.
Hope this will fulfill your requirement!
Mayur
- JohndeCirrus
Ok, i will check above iRule and test same. Thanks for your response.
I'll update status here.
- JohndeCirrus
Thanks!!!! Above iRule worked for me. Just quick question, how many maximum entries can i add in one iRule? Is there any limitation?
- BeakerCirrus
So we have this set up and there is no real limit but processing of the iRule gets slower the longer the rule is. We had a rule that was 2000+ lines that worked fine. If you have 30+ entires the processing starts to slow after each additional entry. I would suggest is using that many entries using a data group to store the entries.
We use
set pool [class match -value [HTTP::host][HTTP::uri] starts_with dg_shared-vip]
Then do check of of pool like if it needs SSL to the pool
and finish with
pool $pool
the data group is a string list with the string being the host/uri and value being the pool.
Using this we have save a lot of IP space and adding entries is simple and fairly silo'd from error.
- JohndeCirrus
Hello Beaker,
This is also helpful. Thank you so much.
,
Although this seems to be very old post but you can use below iRule. It will save you from adding multiple entries everytime. Just you need to take care of pool naming here so it will match the correct pool. If no specific pool is available, request wont get forwarded.
when HTTP_REQUEST { pool "pool_[string tolower [HTTP::host]]" }
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