Forum Discussion

stucky101_88485's avatar
stucky101_88485
Icon for Nimbostratus rankNimbostratus
Aug 10, 2012

Cannot create iApps that run over http and https on same VIP

Gurus

 

 

I have an app that runs over http and partly over https. Up until now I would create 2 VS on the same IP.

 

One for http on 80 and one for https on 443 which works cause the port is different.

 

 

It's unclear to me how this translates into the iApp concept. Logically there is only one app spread over 2 VS. The first problem is naming :

 

 

* I can only create one iApp over either http or https, after that I have to pick another iApp name or else it complains that objects with this prefix already exists.

 

 

*When I pick a different name, however, it still complains that :

 

 

"01070333:3: Virtual Server /Common/vs1 illegally shares both address and vlan with Virtual Server /Common/vs2"

 

 

This means I cannot use the iApp template at all. Both http and https have to listen on the same IP and allow the same VLAN. This works when you do it manually.

 

 

This opens up an interesting question. What exactly distinguishes an "iApp" ? Is it per IP or per virtual server ?

 

It looks like there is no concept of having the same app use 2 different VS. How can I tell the f5 how to distinguish my apps ?

 

F.e. I have one setup where there is only one single VIP and all apps are separated only by URI. I have iRules that take care of that like :

 

 

if { [HTTP::host] equals "/app1" } {

 

pool app1

 

}

 

elseif { [HTTP::host] equals "/app2" } {

 

pool app2

 

 

and so forth.

 

 

I assume there is no way to tell the LTM to make these into separate iApps right ?

 

I was ok with switching back to having dedicated IPs per app but now I cannot even seem to do that.

 

 

Am I out of luck ?

 

  • Fred_Slater_856's avatar
    Fred_Slater_856
    Historic F5 Account

    Stucky

     

    iApp strictness of ownership is not so granular as to track an object property like the description field. The entire object, a virtual server in this case, is owned by the iApp. That is why you must disable strictness in order to modify its properties. Since strictness is generally enforced, the iApp framework does not need to re-create the objects when you reconfigure the template. It only modifies those properties that you have changed. In this case, there are no commands in the template that specify a change to the description property, so it is left alone. It may help you to know that iApps do not keep a separate copy of any object information. Instead, objects that the iApp creates are marked with an "app-service" tag. You can view this tag from tmsh. Objects that are created through tmsh or tmui without using an iApp are marked "app-service none".

     

    Fred