巧妙用Apache配置反向代理解决两内网服务器一个外网ip共享80端口问题
先要在 lampp/etc/httpd.conf ( 这个是Apache 总的配置文件)中,将虚拟路径的注释去掉。
#Include etc/extra/httpd-vhosts.conf
使httpd-vhosts.conf文件起作用,或者直接在httpd.conf中写配置也可以,但不建议这么做。
相关的配置有:Listen NameVirtualHost <VirtualHost>
1. Listen 要监听的端口,多个端口,要写多个Listen;否则Apache启动的时候,不会启动相应的套接字。
比如
Listen 80
Listen 8080
2.NameVirtualHost 如果没有这个,<VirtualHost>标签就没什么作用。
一个NameVirtualHost 可以对用多个<VirtualHost>,每个<VirtualHost>必须有自己的NameVirtualHost(我猜的)
NameVirutalHost *:80
制定这个主机的IP和端口,如果服务器上有多个IP,就可以制定某个IP的某个端口是哪个 主机。
(新版的Apache已经去除了NameVirtualHost 这个配置,因为确实没什么用,参数在VirtualHost中都已经指明了)
3 最关键的VirtualHost,添加
<VirtualHost *:80>
ServerName www.xyz.com
ProxyPass / http://lan-server1/
</VirtualHost>
<VirtualHost *:80>
ServerName www.abc.com
ProxyPass / http://lan-server2/
</VirtualHost>
<Proxy http://lan-server1>
Order Allow,Deny
Allow from all
</Proxy>
<Proxy http://lan-server1>
Order Allow,Deny
Allow from all
</Proxy>