您的位置:首页 > 运维架构 > 反向代理

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

2012-11-09 21:45 489 查看
不是专门做服务器运维的,所以对于玩服务器反向代理等活,基本上都是现场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,测试,成功
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: