Forum Discussion
Inter-VIP communication
Hello,
Is there a way to redirect/communicate to another VIP. I have following scenario:
Step 1: Clients are hitting successfully VIP.37
Step 2: VIP.37 requires to communicate with VIP.38
Step 3: VIP.38 requires communication with VIP.36 to fetch some files.
Note: Individual VIPs are functioning without any issue. But inter VIP communication is not happening.
VIP.37 = 192.168.100.37
VIP.38 = 192.168.100.38
VIP.36 = 192.168.100.36
I think in my above query iRule will help but I don't know how to write an iRule , so it would be great if somebody helps me with complete script using my VIPs IPs.
Thanks in anticipation
- Andy_McGrath
Cumulonimbus
Yes you can with an iRule, in the iRule you need to use the virtual Command however this has an issue. When you use virtual you can’t check the status of the virtual server you are forwarding to before so it is a blind forward unless you know and check the associated pools.
when HTTP_REQUEST { if { [HTTP::uri] starts_with “/vs2”} { Send request to a new virtual server virtual vs2 } }
A better approach might be to forward to different pools instead of different virtual servers.
The only two reasons I have used virtual is for Data Centre Affinity and automatically selecting virtual for different SSL profiles.
when HTTP_REQUEST { if { [HTTP::uri] starts_with “/vs2”} { Send request to a new virtual server pool vs2_pool } }
- Ahmed_Saeed_329
Nimbostratus
My aim is to ensure inter-VIPs communication, will this script help me in doing so?
- Andy_McGrath
Cumulonimbus
The first iRule using virtual will do inter VIP communication for you, just edit to match your requirements and names.
- Ahmed_Saeed_329
Nimbostratus
I have applied following iRule on vs.37 to communicate with vs.38 when HTTP_REQUEST { if { [HTTP::uri] starts_with “/vs37”} { virtual vs.38 }
and applied following iRule on vs.38 to build communication b/w vs.38 and vs.36 when HTTP_REQUEST { if { [HTTP::uri] starts_with “/vs38”} { virtual vs.36 } } Kindly confirm the syntax and applied method please.
- Ahmed_Saeed_329
Nimbostratus
I have tested the above commands but it couldn't make inter-VIPs communication successfully.
could you explain this better?
Step 1: Clients are hitting successfully VIP.37 Step 2: VIP.37 requires to communicate with VIP.38 Step 3: VIP.38 requires communication with VIP.36 to fetch some files.
how is that communication exactly happening? or how do you believe it should be happening?
is vip.37 going to a pool with nodes or ...? are there links on the website (is it a website? for vip.37 pointing to vip.38?
in the general the idea with the virtual ... is how it works, but it must make sense as in general just a virtual server doesn't communicate with another one. a pool member might, or another irule might do it.
- Andy_McGrath
Cumulonimbus
The iRules only forward if the URI starts with the specified, e.g. Request to /vs37/some/uri/path which hits Virtual Server vs37 will be forwarded to vs38.
Let us know how you want to decide if traffic needs to be forwarded from my vs37 to vs38, part of the a HTTP Request or the client IP address etc?
Same for forwarding between vs38 and vs36?
- Srini_87152
Cirrostratus
Do you have any pool on vip 37?
Thx Srini
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