Forum Discussion

Fernando_Sampai's avatar
Fernando_Sampai
Icon for Nimbostratus rankNimbostratus
Nov 19, 2014

Policy - forwarding - http - Problems

Hi All,

 

Basically i have virtual server (web) with a policy that forward some url-uri to another pool, but in some moments don't work correctly, sending the request to wrong pool.

 

When the load is low or Auto Map is on the virtual server, the problem disappears.

 

Using request logging profile is possible see this.

 

Example:

 

Variables in logging profile template: "http_method":"$HTTP_METHOD" "http_path":"$HTTP_PATH" "http_uri":"$HTTP_URI" "status_code":"$HTTP_STATUS" "virtual_name":"$VIRTUAL_NAME" "virtual_pool_name":"$VIRTUAL_POOL_NAME"

 

correctly: http_method":"GET" http_path":"/teste/xxx/40756/xx" http_uri":"/teste/xxx/40756/xx" status_code":"301 Moved Permanently" virtual_name":"/Common/xxx_home" virtual_pool_name":"" // When request goes to correctly pool, the variable $VIRTUAL_POOL_NAME dont print any information.

 

wrong: http_method":"GET" http_path":"/teste/xxx/40756/xx" http_uri":"/teste/xxx/40756/xx" status_code":"301 Moved Permanently" virtual_name":"/Common/xxx_home" virtual_pool_name":"/Common/xxx2_pool" // ops wrong pool.

 

Policy conf:

 

ltm policy /Common/unifica_default_home { controls { forwarding } requires { http } rules { unifica_default_home_policy_rule { actions { 0 { forward select pool /Common/xxx2_pool } } conditions { 0 { http-uri path starts-with values { /teste/ } } 1 { http-host host values { www.xxx.com xxx.ws } } } ordinal 1 } } strategy /Common/first-match }

 

Virtual Server conf:

 

ltm virtual /Common/xxx_home { destination /Common/xx.xx.xx.xx:80 ip-protocol tcp mask 255.255.255.255 policies { /Common/unifica_default_home { } } pool /Common/xxx_pool profiles { /Common/profile_http { } /Common/profile_http_optimized_compression_cache { } /Common/profile_oneconnect { } /Common/profile_tcp_optimized_lan { context serverside } /Common/profile_tcp_optimized_wan { context clientside } } rules { /Common/irule_inner_net_outer_net } source 0.0.0.0/0 translate-address enabled translate-port enabled }

 

Any ideias?