由一台服务器的apache 代理 到另外一台 apache

本文介绍了一种通过A服务器代理外网流量至内网B服务器的方法。A服务器使用Apache配置了多个代理规则,将不同路径请求转发至B服务器特定端口;B服务器则配置了特定端口监听并使用URL重写进行页面路由。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

两台服务器,一台外网可以访问,另一台不能。

A服务器可以被外网访问,B服务器不能。

 

A服务器上的apache配置:

NameVirtualHost *:80


<VirtualHost *:80>
    ServerName localhost
    ServerAlias localhost
    ServerAdmin myclub@myclub.com
    
    ProxyPass /ikea http://172.16.22.11:89
    ProxyPassReverse /ikea http://172.16.22.11:89

    <proxy http://172.16.22.11:89>
        AllowOverride All
        Order Deny,Allow
        Allow from all
    </proxy>

    proxypass /svn !

    ProxyPass /clubupload ! 
    ProxyPass /****upload !
    ProxyPass /bugs !   

    ErrorLog logs/error_log
    CustomLog logs/access_log common
    ErrorDocument 404 /sys/logon.jsp
    </proxy>
</VirtualHost>

监听A服务器的80端口,然后由代理到B服务器的89端口

 

B服务器上的89端口配置:

NameVirtualHost *:89

<VirtualHost *:89>
    DocumentRoot /var/www/website/community.ikea.cn
    ServerName community.ikea.cn


RewriteEngine On
#RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule  ^/hfcenter/class_([0-9]+)\.html$ /hfcenter/articlelist.php?hfid=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule  ^/hfcenter/topic_([0-9]+)\.html$ /hfcenter/showarticle.php?aid=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule  ^/hfcenter/topic_([0-9]+)_([0-9]+)\.html$ /hfcenter/showarticle.php?aid=$1&asid=$2 [L]


</VirtualHost>
 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值