利用Apache的反向代理功能,可以实现一个IP地址,以及一个泛域名,实现多个HTTP域名及负载均衡,映射到内网,而无需多个80端口。
原理:
假设IP为 1.2.3.4,假设域名为abc.com,然后设定泛域名为*.abc.com = 1.2.3.4
如果要设定
都是利用1.2.3.4这个IP地址,但这四台机器分别在内网四台机器上,可以用下面的apache的站点配置来实现:
即设定四个站点文件(放在/etc/apache2/sites-enabled下面):
010-w1.abc.com
010-w2.abc.com
010-w3.abc.com
010-xyz.abc.com
这四个文件内容类似下面:
<VirtualHost *:80>
ServerName w1.abc.com
ServerAlias w1.abc.com
DocumentRoot /var
<Directory "/home/awecfg/geoptima_configuration">
AddHandler cgi-script .cgi
AddCharset utf-8 .cgi
AddCharset utf-8 .json
Options FollowSymLinks +ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
# 下面的http地址,即内网的HTTP地址!
# 下面的/这个也可以带一个特定别名,例如 ProxyPass /config http:// 内网IP:端口/URL
# 则当访问 http://w1.abc.com/config 的时候,实际上访问的就是内网的服务器
ProxyPass / http:// 内网IP:端口/URL
ProxyPassReverse / http:// 内网IP:端口/URL
ErrorLog /var/log/apache2/w1.abc.com-error.log
CustomLog /var/log/apache2/w1.abc.com-access.log combined
</VirtualHost>