首页  编辑  

Ubuntu Apache泛域名解释的HTTP反向代理

Tags: /计算机文档/路由器和网络管理/   Date Created:

利用Apache的反向代理功能,可以实现一个IP地址,以及一个泛域名,实现多个HTTP域名及负载均衡,映射到内网,而无需多个80端口。

原理:

假设IP为 1.2.3.4,假设域名为abc.com,然后设定泛域名为*.abc.com = 1.2.3.4

如果要设定

http://w1.abc.com

http://w2.abc.com

http://w3.abc.com

http://xyz.abc.com

都是利用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>