Forum Discussion

kykong_107132's avatar
kykong_107132
Icon for Nimbostratus rankNimbostratus
Aug 26, 2007

HTTP::class select problem

Hi All,

 

 

I'm using LTM 6400 with WA module, following is my configuration.

 

 

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

 

HTTP CLASS - total 4 HTTP classes

 

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

 

profile httpclass ist_class {

 

defaults from httpclass

 

pool ist_pool

 

redirect none

 

wa disable

 

hosts none

 

paths

 

"/Testfile/*"

 

"/IST/*"

 

headers none

 

cookies none

 

}

 

profile httpclass equery_class {

 

defaults from httpclass

 

pool menara_web

 

redirect none

 

wa disable

 

hosts none

 

paths "/eQuery/*"

 

headers none

 

cookies none

 

}

 

profile httpclass cn_https_class {

 

defaults from httpclass

 

pool https_pool

 

redirect none

 

wa enable

 

hosts none

 

paths none

 

headers none

 

cookies none

 

}

 

profile httpclass ost_class {

 

defaults from httpclass

 

pool ost_pool

 

redirect none

 

wa disable

 

hosts none

 

paths "/OST/*"

 

headers none

 

cookies none

 

}

 

 

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

 

virtual server configuration

 

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

 

virtual Maybank2u_vs {

 

translate service disable

 

destination 20.134.32.196:https

 

ip protocol tcp

 

rules m2u_irule

 

httpclass ist_class equery_class ost_class cn_https_class

 

profiles

 

Maybank2u_clientssl

 

http_custom

 

internal_serverssl

 

tcp

 

}

 

 

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

 

because of application behavior i need to used irule to do redirection as well as persistence, following is my irule setting

 

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

 

rule m2u_https_irule {

 

when HTTP_REQUEST {

 

if { [HTTP::uri] starts_with "/TestFiles/" } {

 

persist source_addr timeout 300

 

HTTP::class select ist_class

 

}

 

elseif {[HTTP::uri] starts_with "/IST/" } {

 

persist source_addr timeout 300

 

HTTP::class select ist_class

 

}

 

elseif {[HTTP::uri] starts_with "/eQuery/" } {

 

persist source_addr 300

 

HTTP::class select equery_class

 

}

 

elseif { [HTTP::uri] starts_with "/OST/" } {

 

persist source_addr timeout 1800

 

HTTP::class select ost_class

 

}

 

else { HTTP::class select cn_https_class }

 

}

 

}

 

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

 

i get this error message from the log file

 

"Aug 25 00:03:43 tmm tmm[1538]: 01220001:3: TCL error: Rule cn_https_irule - Illegal argument (line 17) invoked from within "HTTP::class select ost_class"

 

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

 

 

anyone have any idea what this error message means?

 

appreciate if you can give me some suggestion on how to fine tune this rule.

 

 

thanks in advance.

 

 

2 Replies

  • i think i know the reason why i have that error messages. they remove few httpclass from virtual server.

     

  • As you found, the HTTP class you select needs to be configured on the virtual server...

     

     

    SOL6826 (Click here)

     

     

     

    The connection fails under these circumstances because, unlike pools, HTTP classes are not a global resource. HTTP classes must be assigned to the virtual server in order for the virtual server, or an iRule that is assigned to the virtual server, is allowed to use the HTTP class.

     

     

     

     

    Aaron