这么一个需求:同一台服务器上有两个应用,如
http://hostA:8080/services和
http://hostA:8080/admin外部访问时,需要从不同的域名访问,如
http://services.host.com和
http://admin.host.com一开始给他们这么一个比较简单的解决方案:
分别把services和admin两个应用,部署到不同的两个端口上,如
services ->
http://hostA:8081/admin ->
http://hostA:8082/接着在防火墙配两个公网IP,然后dns上把services.host.com和admin.host.com配置到这两个IP上。
当请求到达防火墙时,防火墙根据所访问的ip转发到hostA的对应端口上。
前
方用的防火墙是我们公司的Audemon
100,和公司的Audemon系统组的交流后得知,目前的防火墙版本不支持同时配置两个ip,要到六月底才能出版本支持。!@…%#%…%¥,晕倒,好
像这是很基本的功能来的吧,居然还不支持。没办法,此路不通。由于防火墙是不管域名的(因为域名资料是通过应用层传输的),那更别指望防火墙根据域名转发
了。
因此,我们只好提供了软件级的解决方案,让前方在Tomcat前加一个Apache 2.2,通过Apache的Virtual Host + AJP实现转发。
Apache的部分配置如下:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName host1.com
ProxyPass / ajp://host1.com:8009/
ProxyPassReverse / ajp://host1.com:8009/
</VirtualHost>
<VirtualHost *:80>
ServerName host2.com
ProxyPass / ajp://host2.com:8019/
ProxyPassReverse / ajp://host2.com:8019/
</VirtualHost>
Tomcat也需要配置AJP Connector,如host1.com的配置
<Connector port=”8009″ enableLookups=”false” redirectPort=”8443″ protocol=”AJP/1.3″ />
这个方案相对于防火墙的硬件方案,性能上要差一些,但还是不错的。
另
外还有一种方案是通过iptables的domain module来实现,但这个domain
module好像是国内的某个高手写的,只更新到v0.02版本,并没有提交到iptables的标准里。虽然可以用而且性能比Apache的方案要高一
些,但是风险较大,而且配置麻烦(既要编译内核,又要配置iptables的rules),所以没有用这种方式。
文章来源:
http://blog.163.com/ccbobo_cat/blog/static/320994622009326115641438
分享到:
相关推荐
NULL 博文链接:https://sandy902724921-163-com.iteye.com/blog/1808232
Apache2 VirtualHost Python是一个非常简单且功能强大的应用程序,用于在Apache Server上创建Virtuals Host。 Apache VirtualHost Python是使用Python3创建的,与您的操作系统非常兼容。
apache2-virtualhost 将虚拟主机文件添加到apache2 sudo curl -o apache2-virtualhost.sh ...
apache2-create-virtualhost 该脚本为apache2 Web服务器创建了附加的virtualhost配置。 接受2个参数,网站目录,网站域名。 只需将这两个参数添加到下面的代码片段的末尾即可。在下面运行此代码以执行脚本以启动...
Apache VirtualHost Transfer Counter是一组文件,可让您快速轻松地监控服务器上http bandwitch的利用率。 它也可以为您提供有关VirtualHosts的一些统计信息。
主要介绍了Apache中Virtual Host虚拟主机配置及rewrite模块中的重要参数说明,是在同一个Apache服务器软件上部署多个站点的基础方法,需要的朋友可以参考下
本文将详细记录一下如何在单台服务器上,利用apache的virtualhost(虚拟主机)来搭建多个不同的web站点,并且每个站点独立管理自己的session,下面话不多说了,来一起看看详细的介绍吧。 开发环境 先说下我各项开发...
适用于Apache 2.4.7的VirtualHost管理器 由于我在虚拟机上测试了各种开源自托管应用程序,因此决定创建一个用bash编写的小脚本,该脚本可帮助我配置初始设置。 我已经在Ubuntu 14.04 LTS上对其进行了测试,它也应该...
利用apache包来完成excel导入导出 利用apache包来完成excel导入导出
这是一个示例 Apache 虚拟主机定义文件。 它包含使路由按预期工作所需的重写规则。 如果您想根据存储应用程序文件的位置重新使用此文件,则可能需要更改路径。 我的通常在: /home/#username#/public_...
$ sudo cp /path/to/virtualhost.sh /usr/local/bin/virtualhost 对于全球快捷方式 $ cd /usr/local/bin $ wget -O virtualhost https://raw.githubusercontent.com/RoverWire/virtualhost/master/virtualhost.sh $ ...
apache-jmeter测压工具生成的文档,用jmeter导入即可,
主要介绍了CentOS配置虚拟主机virtualhost使服务器支持多网站多域名的方法,涉及CentOS环境下Apache服务器虚拟主机设置技巧,需要的朋友可以参考下
apache 2.2使用方法,完全教程,想要学的抓紧下啊。
Apache POI导入和导出Excel文件
Poi强大的操作技术方便了我们开发,Apache POI导入数据到Excel电子表格
win10系统配置虚拟主机 1.用记事本或Sublime Text打开httpd.conf ...<VirtualHost> ServerAdmin webmaster@youremail.com DocumentRoot E:/your_web_root ServerName your.web.com ErrorLog logs/your_web_
详细介绍了php+apache+mysql如何配置,配置的方法,以及出现错误解决方法