Ubuntu下Apache虚拟主机+反向代理

反向代理 就是通过一台代理服务器,让Internet用户可以访问到内部网络上的服务器

下图中192.168.0.4 可以理解带有2个网卡,一个是公网ip,一个是192.168.0.4

Ubuntu下Apache虚拟主机+反向代理

代理内外中的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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/ff0e35dbc0b2483bd4c29f6262889b62.html