cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
676
Views
0
Helpful
4
Replies

URL-Based Load Balancing

jrichterkessing
Level 1
Level 1

I'm having a difficult time trying to configure load balancing on my CSM based on the URL entered. Here is my scenerio:

Two web servers (WebA & WebB), load balanced on a CSM. WebA & WebB have 90% the same content, so most traffic can be load balanced between them without a problem. The problem (for me anyway) comes in where WebA has certain web sites that WebB doesn't, and vice versa. So I need to load balance to both for 90% of the traffic, and point traffic to a particular server the other 10% of the time based on the URL entered.

Below is the test config I have so far (that doesn't work correctly), what I am trying for in this example is that any URL that contains /vhosts/ or /programs/ be directed to WebA, and any URL that contains /platform/ or /ssl/ be directed to WebB, and all other traffic be load balanced between the two evenly. (For testing purposes, the servers are being load balanced in "bridge-mode", in production they will be "routed-mode"....I did't want to go through the change controls to change the IP addresses for the test servers!).

module ContentSwitchingModule 2

vlan 605 client

ip address 10.63.240.4 255.255.255.0

gateway 10.63.240.1

!

vlan 606 server

ip address 10.63.240.4 255.255.255.0

!

natpool URL-POLICY-TEST 10.63.240.204 10.63.240.204 netmask 255.255.255.254

!

map SRV-A url

match protocol http url /vhosts/*

match protocol http url /programs/*

!

map SRV-B url

match protocol http url /platform/*

match protocol http url /ssl/*

!

serverfarm URL-POLICY-TEST

nat server

nat client URL-POLICY-TEST

real 10.40.109.100

inservice

real 10.40.109.101

inservice

!

serverfarm URL-TESTA

nat server

nat client URL-POLICY-TEST

real 10.40.109.100

inservice

!

serverfarm URL-TESTB

nat server

nat client URL-POLICY-TEST

real 10.40.109.101

inservice

!

policy TESTWEB-A

url-map SRV-A

serverfarm URL-TESTA

!

policy TESTWEB-B

url-map SRV-B

serverfarm URL-TESTB

!

vserver URL-POLICY_TEST

virtual 10.63.240.10 tcp 0

vlan 605

serverfarm URL-POLICY-TEST

sticky 1

persistent rebalance

slb-policy TESTWEB-A

slb-policy TESTWEB-B

inservice

4 Replies 4

Gilles Dufour
Cisco Employee
Cisco Employee

what is not working exactly ?

From the config I would say you are missing the command 'persistence rebalance' to break persistency.

Except that, everything looks good.

Gilles.

Thanks for the reply Gilles....I've been out of the office for a while.

Well, right now nothing is working....except that all traffic is going to the default server farm assinged to the vserver. Here are the URLs I am testing with:

**************TEST A************

http://10.63.240.10/manual/vhosts/fd-limits.xml

http://10.63.240.10/manual/programs/apachectl.xml

**************TEST B************

http://10.63.240.10/manual/platform/ebcdic.xml

http://10.63.240.10/manual/ssl/ssl_compat.xml

***************BOTH****************

http://10.63.240.10/manual/howto/htaccess.xml

http://10.63.240.10/manual/howto/cgi.xml

When I try attaching to the first URL for example, here is the connection info (I trimmed it down so it will fit here):

MOSL1S1A#sh mod csm 2 real

real server farm Conns/hits

-------------------------------------------

10.40.109.100 URL-POLICY-TEST 1

10.40.109.101 URL-POLICY-TEST 0

10.40.109.100 URL-TESTA 0

10.40.109.101 URL-TESTB 0

MOSL1S1A#

MOSL1S1A#sh mod csm 2 conn

prot vlan source destination

---------------------------------------------------

In TCP 605 10.47.10.10:3738 10.63.240.10:80

Out TCP 605 10.40.109.101:80 10.63.240.204:8820

I've tried changing the syntax on the URL statement in the map as such:

/manual/*

*/manual/*

/manual/

*manual*

/manual*

could you get a 'sho mod csm X vserver name detail' and a 'sho mod csm X memory' as well as the complete config.

I don't see anything wrong in what you're doing currently.

Gilles.

Hi,

prot vlan source destination

---------------------------------------------------

In TCP 605 10.47.10.10:3738 10.63.240.10:80

Out TCP 605 10.40.109.101:80 10.63.240.204:8820

The IN vlan is 605 and the OUT vlan is 605 too. Shouldn't the OUT vlan be 606 (server vlan)? If not, why not?

Is the server in VLAN 606?

Pascal

Review Cisco Networking for a $25 gift card