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 [email protected]

	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,测试,成功

你可能感兴趣的:(apache)