We´re using apache (2.0, with ssl) to proxy the requests to a web service installed on weblogic. We have mod_wl.so installed, and all works fine with small requests. However, with larger requests (say, 300 KB), the apache stalls and display this error message:
"Failure of server APACHE bridge: No Backend Sever available for connections": timed out after 20 seconds or idempotent is set to off."
We replicate the scenario in another server, and the error persists (instead of "20 seconds", it says "30 seconds" for the same request).
How can I avoid this size limitation? Is it a bug in mod_wl.so? Is it a config value that is missing? (As a side note, the web service works fine when tested directly from inside the weblogic console, no matter how big the file)
Thanks for any help!
UPDATE: changed to mod_wl_20.so with same results, here is the chunk of the log:
Wed Sep 28 11:27:37 2011 <15359131722005124> Hdrs to WLS:[Content-Length]=[352196]
Wed Sep 28 11:27:37 2011 <15359131722005124> Hdrs to WLS:[Connection]=[Keep-Alive]
Wed Sep 28 11:27:37 2011 <15359131722005124> Hdrs to WLS:[WL-Proxy-SSL]=[true]
Wed Sep 28 11:27:37 2011 <15359131722005124> Hdrs to WLS:[WL-Proxy-Client-IP]=[163.247.57.10]
Wed Sep 28 11:27:37 2011 <15359131722005124> Hdrs to WLS:[Proxy-Client-IP]=[163.247.57.10]
Wed Sep 28 11:27:37 2011 <15359131722005124> Hdrs to WLS:[X-Forwarded-For]=[163.247.57.10]
Wed Sep 28 11:27:37 2011 <15359131722005124> Hdrs to WLS:[X-WebLogic-KeepAliveSecs]=[30]
Wed Sep 28 11:27:37 2011 <15359131722005124> Hdrs to WLS:[X-WebLogic-Request-ClusterInfo]=[true]
Wed Sep 28 11:27:37 2011 <15359131722005124> Hdrs to WLS:[x-weblogic-cluster-hash]=[2Ik836PQKnD7XHQ2RcWGOWkcRRA]
Wed Sep 28 11:27:37 2011 <15359131722005124> operation WRITE failed on fd 23: revents=0x00000018
Wed Sep 28 11:27:37 2011 <15359131722005124> IO TImed out error
Wed Sep 28 11:27:37 2011 <15359131722005124> POST timed out to the server 10.182.5.5:7005
Wed Sep 28 11:27:37 2011 <15359131722005124> ***Exception type [WRITE_ERROR_TO_SERVER] (POST ti med out to the server 10.182.5.5:7005 ) raised at line 152 of ap_proxy.cpp
Wed Sep 28 11:27:37 2011 <15359131722005124> error sending headers or Post Data to WebLogic, sys er r#: [0] sys errmsg [Success]
Wed Sep 28 11:27:37 2011 <15359131722005124> Marking 10.182.5.5:7005 as bad
Wed Sep 28 11:27:37 2011 <15359131722005124> got exception in sendRequest phase: WRITE_ERROR_TO_SER VER [os error=0, line 152 of ap_proxy.cpp]: POST timed out to the server 10.182.5.5:7005 at line 2994
Wed Sep 28 11:27:37 2011 <15359131722005124> Failing over after WRITE_ERROR_TO_SERVER exception in sendRequest()
Wed Sep 28 11:27:37 2011 <15359131722005124> attempt #1 out of a max of 10
Wed Sep 28 11:27:37 2011 <15359131722005124> No good servers left in the general list, reverting ba ck to the static list
Wed Sep 28 11:27:37 2011 <15359131722005124> Host extracted from serverlist is [10.182.5.5]
Wed Sep 28 11:27:37 2011 <15359131722005124> Host extracted from serverlist is [10.182.5.5]
Wed Sep 28 11:27:37 2011 <15359131722005124> Initializing lastIndex=0 for a list of length=2
Post timed out to 10.182.5.5:7005
This is the WebLogic which Apache is trying to post to.
You have confirmed this works when directly posted to the same Weblogic server.
The 20 seconds mathces the default KeepAliveSecs
which you can try to increase.
Have you set a value in the plugin for WLIOTimeoutSecs
.
This defaults to 300. Defines the amount of time in seconds the plug-in waits for a response to a request from WebLogic Server.
But from your log it does not look like Apache is waiting for 300 seconds before failing.
Similarly MaxPostSize
defaults to -1, just check that you have not set some low value for that.
Check out the other plugin parameters on this list
http://download.oracle.com/docs/cd/E12840_01/wls/docs103/plugins/plugin_params.html#wp1143055
You might also want to tinker with the FileCaching
element for POST requests
User contributions licensed under CC BY-SA 3.0