反向代理 就是通过一台代理服务器,让Internet用户可以访问到内部网络上的服务器
下图中192.168.0.4 可以理解带有2个网卡,一个是公网ip,一个是192.168.0.4
代理内外中的2个服务器上的2个服务,分别是运行在9000端口和81端口
01)安装 Apache2:
sudo apt-get install apache2
测试访问:192.168.0.4
02)重启服务器:
sudo /etc/init.d/apache2 restart
03)虚拟主机+反向代理 配置:
目标是:用安装apache2的服务器ip 192.168.0.4 代理运行在192.168.0.15:9000上的tomcat服务器
前提是:
192.168.0.4安装好了apache2并可以正常访问
192.168.0.15:9000也可以正常访问
启用这几个模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
启用模块 sudo a2enmod <model>
禁用模块 sudo a2dismod <model>
上面提到的几个启动模块命令如下
sudo a2enmod proxy
sudo a2enmod proxy_ajp
sudo a2enmod proxy_balancer
等等
/etc/apache2/sites-available/ 目录中建立一个文件 linuxidc
<VirtualHost *:80>
ServerName
ServerAlias linuxidc.com
ProxyPreserveHost On
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / :9000/
ProxyPassReverse / :9000/
</VirtualHost>
然后执行 启用这个站点
sudo a2ensite linuxidc
service apache2 reload
/etc/apache2/sites-available/ 目录中建立一个文件 88181
<VirtualHost *:80>
ServerName
ServerAlias 88181.com
ProxyPreserveHost On
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / :81/
ProxyPassReverse / :81/
</VirtualHost>
然后执行 启用这个站点
sudo a2ensite 88181
service apache2 reload
修改C:\WINDOWS\system32\drivers\etc\hosts进行测试
192.168.0.4 linuxidc.com
192.168.0.4 88181.com
关闭一个虚拟站点
sudo a2dissite linuxidc
sudo a2dissite 88181