proxy: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy sub

用apache配置虚拟主机做代理出现这个错误知道是为什么嘛,尼妈的真是坑爹啊。原来是少加了几个module靠

要用apache配置虚拟主机需要加载这几个module

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
但是在linux下怎么添加这个几个组件呢?

尼妈在linux下安装apache的时候我不知道怎么把proxy这个组件添加到默认安装里面去

没有proxy这个module妈的虚拟主机配置不了,所以以下就是安装这个主件的方法

我用的是httpd-2.2.21.tar.gz这个安装程序

我放在了/opt下面

我是先解压#tar zxvf httpd-2.2.21.tar.gz

安装apache的步骤我就不说了,我的安装路径为/usr/local/apache2/

在/opt下面呢会出现一个httpd-2.2.21的文件夹

#cd httpd-2.2.21

#cd modules/proxy

#/usr/local/apache2/bin/apxs -i -c -a mod_proxy.c prox_util.c

#/usr/local/apache2/bin/apxs -i -c -a mod_proxy_http.c

#/usr/local/apache2/bin/apxs -i -c -a mod_proxy_connect.c

apxs命令解析:

-i此选项表示需要执行安装操作, 以安装一个或多个动态共享对象到服务器的modules目录中。-a此选项自动在httpd.conf文件中增加一个LoadModule行,以激活此模块,或者,如果此行已经存在,则启用之。-A-a选项类似,但是它增加的LoadModule指令由一个井号前缀(#), ,此模块已经准备就绪,但尚处于禁用状态。-e此选项表示需要执行编辑操作,它可以与-a-A选项配合使用, 与-i操作类似,修改Apache的httpd.conf配置文件,但是并不安装此模块。

这样你就可以配置虚拟主机了。我内牛满面啊

为tomcat作代理

NameVirtualHost *:80

########CMS######
<VirtualHost *:80>
    ServerName ***.net.cn
    ProxyPreserveHost On
    ProxyRequests On

    ProxyPass / http://localhost:81/
    ProxyPassReverse / http://localhost:81/

    ErrorLog logs/cms.tel.comsys.net.cn_error_log
    CustomLog logs/cms.tel.comsys.net.cn_access_log common
</VirtualHost>

现在重启apache就行了

posted @ 2011-09-21 13:43  重剑无锋_FQT  阅读(6849)  评论(0编辑  收藏  举报