现象描述:
apache集成weblogic,通过webserver路径访问应用。发起post请求时,报“服务器无响应 500”错误。
问题调试:
1. 修改httpd.conf文件,设置日志为debug模式:Debug on (设置为打开)
2. 指定日志输出路径:WLLogFile /webcs/ebweb/logs/eibs2/logFile
修改后 location配置如下:
<Location "/eweb">
SetHandler weblogic-handler
WebLogicHost 172.111.58.11
WebLogicPort 7012
KeepAliveEnabled On
ConnectTimeoutSecs 30
ConnectRetrySecs 2
SecureProxy OFF
Debug on
WLLogFile /webcs/ebweb/logs/eibs2/logFile
</Location>
问题结果:
日志中,发现POST请求,报错误如下:
================New Request: [POST /eweb/login.do HTTP/1.1] =================
INFO: SSL is not configured
Using Uri /eweb/login.do
After trimming path: '/eweb/login.do'
The final request string is '/eweb/login.do'
SEARCHING id=[172.111.58.11:7012] from current ID=[172.111.58.11:7012]
The two ids matched
@@@FOUND...id=[172.111.58.11:7012], server_name=[172.111.58.41], server_port=[708
Going to get the post data of size=3002 clength=0
getWLFilePath: Complete File name = [/tmp/_wl_proxy/_post_10243_0]
Cannot open TEMP post file '/tmp/_wl_proxy/_post_10243_0' for POST of 3002 bytes
IO error reading client POST data; sys err#: [13] sys err msg [Permission denied]
post的内容都是放在内存里缓存着,运行一段时间后,内存放满了,则使用临时问题保存post内容。此时不存在该临时文件,故报错;
解决办法:
为单独的应用,指定单独post内容存放目录。由于集成配置中未指定WLTempDir,默认使用/tmp/_wl_proxy。
指定WLTempDir路径为“/webcs/ebweb/logs/eibs2/wl”,配置如下:
<Location "/eweb">
SetHandler weblogic-handler
WebLogicHost 172.111.58.11
WebLogicPort 7012
KeepAliveEnabled On
ConnectTimeoutSecs 30
ConnectRetrySecs 2
SecureProxy OFF
#Debug on
#WLLogFile /webcs/ebweb/logs/eibs2/logFile
WLTempDir /webcs/ebweb/logs/eibs2/wl
</Location>
重新启动httpd.conf。测试问题解决。 注:Debug、WLLongFile属性可以注释掉。
apache集成weblogic,Cannot open TEMP post file问题
最新推荐文章于 2019-07-08 17:27:54 发布