default pool
7 TopicsLB irule and where to place in whith in an exisitng rule
Good morning all. I need help with an irule that might be better as an addition to an existing rather than a new one. We currently have an external F5 forwarding mail requests to an internal F5. This then has 2 irules associated with it for appending, persistence and LB. The only pools configured including default pool are set within the irules. What I need to do is add an additional pool OWA_webconsole_pool and forward any traffic with /webconsole in the HTTP Request to that pool. My issue is that I don't want to interfere with the exisiting rules and the basic rule id use has a default pool as its fall back. If I put this as a new rule last won't it negate any previous rules. Heres what I want to do: when HTTP_REQUEST { if { [HTTP::uri] contains "/webconsole" } { pool OWA_webconsole_pool } else { pool $def_pool } } but here are the 2 rules in order that already exist. when HTTP_REQUEST { if { ([HTTP::uri] == "/") } { HTTP::uri /owa } } This seems to add /owa to all HTTP requests. will this overwrite any command coming in with /webconsole on the end? when HTTP_REQUEST { CHANGE ALL POOL NAMES TO MATCH THOSE IN YOUR ENVIRONMENT. YOU MIGHT CHOOSE TO USE THE SAME POOL FOR OWA, ECP and EWS. OAB and Autodiscover do not require persistence. switch -glob -- [string tolower [HTTP::path]] { "/microsoft-server-activesync" { Direct all ActiveSync clients to a common pool; use Auth header value if it exists (Basic auth only, which is the default); otherwise we fall back to client IP if { [HTTP::header exists "APM_session"] } { persist uie [HTTP::header "APM_session"] 7200 } elseif { [HTTP::header exists "Authorization"] } { persist uie [HTTP::header "Authorization"] 7200 } else { persist source_addr } pool OwaMail_combined_vs_owa_pool return } "/ews*" { if { [HTTP::header exists "APM_session"] } { persist uie [HTTP::header "APM_session"] 7200 } else { persist cookie } pool OwaMail_combined_vs_owa_pool return } "/ecp*" { if { [HTTP::header exists "APM_session"] } { persist uie [HTTP::header "APM_session"] 7200 } else { persist cookie } pool OwaMail_combined_vs_owa_pool return } "/oab*" { pool OwaMail_combined_vs_owa_pool return } "/rpc/rpcproxy.dll" { if { [HTTP::header exists "APM_session"] } { persist uie [HTTP::header "APM_session"] 7200 } else { switch -glob [string tolower [HTTP::header "User-Agent"]] { "msrpc" { if { [HTTP::cookie exists "OutlookSession"] } { persist uie [HTTP::cookie "OutlookSession"] 7200 } else { persist uie [HTTP::header "Authorization"] 7200 } } "*microsoft office*" { This section matches some versions of Outlook 2007 on Windows XP persist uie [HTTP::header "Authorization"] 7200 } default { This section catches all other requests for Outlook Anywhere, and sets a persistence method that does not require the client to support HTTP cookies persist source_addr } } } Finally, this assigns the Outlook Anywhere pool. If the preceding clients should be sent to separate pools, the pool statement should be removed here, and a separate pool statement placed in each of the preceding logic branches. pool OwaMail_combined_vs_owa_pool return } "/autodiscover*" { Requests for Autodiscovery information. No Persistence. pool OwaMail_combined_vs_ad_pool return } default { This final section takes all traffic that has not otherwise been accounted for and sends it to the pool for Outlook Web App if { [HTTP::header exists "APM_session"] } { persist uie [HTTP::header "APM_session"] 7200 } else { persist cookie } pool OwaMail_combined_vs_ad_pool } } } when HTTP_RESPONSE { if { [HTTP::header values WWW-Authenticate] contains "Negotiate" } { ONECONNECT::detach disable log local0. "OC disabled for Negotiate my_ex_single_persist" } } This makes all the major LB and persistence decisions but I'm not sure where I would insert my new code to ensure that it only applied to /webconsole traffic and left everything else alone. I assume I would need to remove the pool $def_pool line. Any advices would be hugely appreciated.315Views0likes2CommentsIs there a way for an iRule to read a default pool parameter from an unrelated, arbitrary virtual server?
Is there a way for an iRule to read arbitrary config parameters about other virtual servers? Specifically, I have an iRule that needs to read the default pool parameter from another virtual server of a different type. If this isn't possible, can an iRule on one virtual server write its own default pool value to a file or local database that another iRule can read from?379Views0likes1CommentAPI rest user for changing default pool and synch configuration
Hello Guys, I have created a script which changes the default pool of a bunch of virtual servers as well as synchs afterwards the f5 configuration to the fallback node. How can I create a user which only is able to change the default pool assignment of one or more virtual servers and can synch the configurations afterwards. That's all what the user should be able to do. Thanks for giving any input.229Views0likes0CommentsProblem ProxySSL with two pools.
Hi, I have a VS with ProxySSL enabled (profile SSL client and server), and two pools with HTTPS (A_pool and B_pool). I configure the A_pool as default pool in VS and works correctly. But when I change to B_pool, through a iRule, show a error. How can I change the default pool through a iRule? Very thanks.330Views0likes3CommentsFailover pool/pool member for maintenance page.
I'm trying to set up a site that has three load balanced servers, and a maintenance page on a fourth server that should only serve when the other three servers are unavailable. I had done some research that suggested this was achievable with an irule, something like this: when HTTP_REQUEST { if { [active_members main.pool] > 0 } { pool main.pool } else { pool aux.pool } } However since the servers home the SSL certs for the site and for reasons we cannot install the certs on the LTM directly, I don't have the ability to apply an HTTP profile tot he virtual server. So I've been trying other possible events such as CLIENT_ACCEPTED. However, I'm not having a lot of luck. I've recently though discovered Priority-based member activation and it looks like it could possible be a solution to my problem. What I'm wondering is if there's a recommended best practice for what I'm trying to do, or if anyone can possibly offer any alternate approaches?346Views0likes5CommentsLTM Local Traffic policy precedence in 11.5
Hi, I have a problem using LTM Policies with a virtual server having a default pool specified and a policy to send the traffic to another pool if condition is matched. So my question is: When adding a LTM policy with its set of rules - say forward to a specific pool for a specific http-uri - to a virtual server resources , is this policy has precedence on default pool ? Or do you need to specify NONE in default poll and create 2 sets of rules for each pool you want traffic to be sent? Running BIG-IP 5050 v 11.5.1 Thanks,274Views0likes1CommentSystem.InvalidOperationException was unhandled when using LocalLBVirtualServer.get_default_pool_name
Hi, I'm trying to use This snippet "C Polling Default Pool Connections" and the first half is working good until it gets to the this line "poolStats = m_interfaces.LocalLBPool.get_statistics(poolBatch);" then I get this exception : System.InvalidOperationException was unhandled HResult=-2146233079 Message=There is an error in XML document (232, 79). Source=System.Xml StackTrace: at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at iControl.LocalLBPool.get_statistics(String[] pool_names) in c:\src\iControl\2005\iControl\iControl_9_4_0\Interfaces\LocalLB\LocalLBPool.cs:line 642 .... etc can someone help me solve this problem?516Views0likes3Comments