Apache设置反向代理泛目录(二级目录)的方法 | LsevenTT博客-站群哥
   

LsevenTT博客-站群哥

认真你就输了

Apache设置反向代理泛目录(二级目录)的方法

设置反向代理有三个文件要用apache目录下
\conf\httpd.conf
\conf\extra\httpd-proxy.conf
\conf\extra\httpd-vhosts.conf

1.设置httpd.conf
打开Apache24/conf文件夹下的httpd.conf设置文件,找到一下几行把前面的注释‘#’删除
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_modulemodules/mod_proxy_connect.so
LoadModule proxy_ftp_modulemodules/mod_proxy_ftp.so
LoadModuleproxy_http_modulemodules/mod_proxy_http.so

(Ps:很多人都会注释LoadModuleproxy_balancer_modulemodules/mod_proxy_balancer.so,然而这个是做负载均衡用的一个功能,单纯做反向代理的话,不需要用这个,而且取消了这里的注释不进行相应的设置的话,会导致apache服务无法开启)
然后找到
Include conf/extra/httpd-vhosts.conf
这一行前面的注释‘#’也删除,引入这个文件

apache反向代理二级目录

<VirtualHost *:80>
ServerAdmin [email protected]    #主机名
#DocumentRoot "d:/**/htdocs/lseventt.com"
ServerName 127.0.0.1
ServerAlias 127.0.0.1
#ErrorLog "logs/lseventt.com-error.log"
#CustomLog "logs/lseventt.com-access.log" common
ProxyPass /abc  http://127.0.0.1:8888/abc
</VirtualHost>

以上代码是把lseventt.com的abc目录反向代理到 http://127.0.0.1:8888/abc上

上面讲的是 开启一个站点的二级目录反向代理,那么如何开启一个站点的二级泛目录反向代理呢?

下面就给大家看一个例子

 

<VirtualHost *:80>
    ServerAdmin [email protected]    #主机名
    #DocumentRoot "d:/**/htdocs/lseventt.com"
    ServerName 127.0.0.1
    ServerAlias 127.0.0.1
    #ErrorLog "logs/lseventt.com-error.log"
    #CustomLog "logs/lseventt.com-access.log" common
    ProxyPassMatch ^/abc(.*)$   http://127.0.0.1:8888/$1
    ProxyPassMatch ^/abc(.*)/$  http://127.0.0.1:8888/$1

    ProxyPass /abc http://127.0.0.1:8888/abc
    ProxyPassReverse /abc http://127.0.0.1:8888/abc

    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>
</VirtualHost>

以上代码的意思是把lseventt.com的abc开头的目录泛解析到http://127.0.0.1:8888/abc上面。

 

 

相关阅读

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*