CentOS下配置Apache反向代理出错的解决

不是专门做服务器运维的,所以对于玩服务器反向代理等活,基本上都是现场google,比如对apache设置反向代理,一般是如下做
将httpd.conf中带proxy的模块解除注释(搞不懂每个模块的作用的话,就全部解除吧),如:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

接下来几种方法随便怎么用都是生效的,这是现从网上拷贝的,具体自己改
方法一:

<VirtualHost *:80>
	ServerAdmin xxx@yourdomain.com
	ServerName www.yourdomain.com
	DocumentRoot /srv/www/htdocs
	ServerSignature On
	DirectoryIndex index.php index.html index.htm
	ProxyRequests Off
	ProxyPreserveHost On
	ProxyPass / http://your.internalserver.local:8080/
	ProxyPassReverse / http://your.internalserver.local:8080/
</virtualhost>


方法二:

ProxyPass /Test http://127.0.0.1:8080/
ProxyPassReverse /Test http://127.0.0.1:8080
<proxy  http://127.0.0.1:8080>
    AllowOverride None
    Order Deny,Allow
    Allow from all
</proxy>


其中方法一有时候还可以做到单独的虚拟路径文件里面去,方便集中管理,这点各种服务器的做法是一样的,include进来即可

但是这一次我发布到centos6上的时候却一直报类似如下的错误:
[Wed Dec 10 20:30:51 2012] [error] proxy: HTTP: disabled connection for (127.0.0.1)
而我在其它linux平台下测试都是不会出现这种情况的,如archlinux,原因就不深究了,还是centos改了一个配置而已,我们把它改回来吧
sudo /usr/sbin/setsebool -P httpd_can_network_connect 1

重启httpd,测试,成功

posted @ 2012-11-09 21:45  $walker  阅读(866)  评论(0编辑  收藏  举报