Apache的reverse proxy设定

工作需要,从同一个端口进入,在服务器端分流,去执行不同端口的服务。用apache的reverse proxy的功能实现。

①「apache2ctl -M」查看proxy module(下面的★)是否加载。如果没有加载,执行「a2enmod proxy_http」加载。

root@server:/etc/apache2/sites-available# apache2ctl -M
Loaded Modules:
 core_module (static)
 so_module (static)
 mpm_event_module (shared)
 negotiation_module (shared)
 proxy_module (shared)        ★
 proxy_http_module (shared)  ★
 rewrite_module (shared)
 setenvif_module (shared)
 status_module (shared)

 

②Port 9596用的httpd conf文件里追加reverproxy的设定

   作为前提,确保以下文件,及文件夹的存在

   /var/wwwtest_9596/test/index.html

   /var/wwwtest_9596/test/apachetest

<VirtualHost *:9596>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/wwwtest_9596/

        ########追加部分########
        <IfModule mod_proxy.c>
        #Reverse Proxy
        <Proxy *>
                Order Deny,Allow
                Deny from all
                Allow from all
        </Proxy>

        ProxyRequests Off
        #proxy setting

        ProxyPass                   /test/apachetest/ http://127.0.0.1:80/
        ProxyPassReverse        /test/apachetest/ http://127.0.0.1:80/
        </IfModule>
       ########追加部分########
</VirtualHost>

 

③「service apache2 restart」,重启apache服务,以让上述proxy设定生效。

 

④从浏览器里输入http://serverip:9596/test,此时执行的是9596端口下的服务。

 

 

⑤从浏览器里输入http://serverip:9596/test/apachetest/,此时执行的是80端口下的服务。一般80下默认的是打开apache的测试页面。

  其实apache做了一个替换http://serverip:9596/test/apachetest/  -> http://serverip:80/

  其实如果带参数的话,会自动传过去。http://serverip:9596/test/apachetest/?u=username&p=password  -> http://serverip:80/?u=username&p=password

 

 

转载于:https://www.cnblogs.com/lanxiansheng/p/7070930.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值