知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

Apache ProxyPass出现503 Service Temporarily Unavailable错误的解决方案

发布时间:2014-09-05 16:07:35作者:知识屋

Apache ProxyPass出现503 Service Temporarily Unavailable错误的解决方案
 
今天在Redhat5 Linux上配置Apache和Tomcat整合,希望将Jsp页面的地址转发到tomcat的地址上去。
 
如真实的Jsp地址为 http://127.0.0.1:8080/jsp/
希望通过访问 http://127.0.0.1/jsp/ 也可以访问到。
 
于是在Apache中配置ProxyPass :
 
ProxyPass /jsp http://localhost:8080/jsp
 
但发现当访问的时候发现不可访问,出现503错误:
日志代码    www.zhishiwu.com  
Service Temporarily Unavailable  
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.  
Apache Server at localhost Port 80  
 
查看apache日志/var/log/httpd/error_log:
日志代码  
[Wed Aug 10 21:02:27 2011] [error] (13)Permission denied: proxy: HTTP: attempt to connect to 10.140.0.109:7080 (127.0.0.1) failed  
[Wed Aug 10 21:02:27 2011] [error] ap_proxy_connect_backend disabling worker for (10.140.0.109)  
[Wed Aug 10 20:30:51 2011] [error] proxy: HTTP: disabled connection for (127.0.0.1)  
 
日志/var/log/httpd/access_log:
日志代码  
127.0.0.1- - [10/Aug/2011:21:02:27 -0400] "GET /jsp/ HTTP/1.0" 503 401 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; CIBA; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"  
 
经过查资料和分析怀疑是SELinux的原因,于是查看果然是:
 
Liunx命令代码  
[root@ logs]# /usr/sbin/getsebool -a |grep httpd_can_network_connect  
httpd_can_network_connect --> off  
 
于是尝试解决方案:
 
我们需要将httpd_can_network_connect设置为on:
 
Linux命令代码  
[root@ logs]# /usr/sbin/setsebool -P httpd_can_network_connect=1  
[root@ logs]# /usr/sbin/getsebool -a |grep httpd_can_network_connect  
httpd_can_network_connect --> on  
   www.zhishiwu.com  
重新访问,页面果然可以访问了。
另外直接关掉SELinux也是可以解决这个问题的:
修改/etc/selinux/config 然后重启:
Liunx代码代码  
SELINUX=disabled  
 
或者实时生效的方式:
 
Linux命令代码  
[root@ var]# /usr/sbin/setenforce 0  
 
 
作者 jinyanhui2008
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜