`
ccbobocat
  • 浏览: 20171 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

[导入]Apache VirtualHost的用法

阅读更多
这么一个需求:同一台服务器上有两个应用,如
http://hostA:8080/serviceshttp://hostA:8080/admin
外部访问时,需要从不同的域名访问,如
http://services.host.comhttp://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
分享到:
评论

相关推荐

    Apache VirtualHost配置

    NULL 博文链接:https://sandy902724921-163-com.iteye.com/blog/1808232

    Apache VirtualHost Python:简单,快速且功能强大-开源

    Apache2 VirtualHost Python是一个非常简单且功能强大的应用程序,用于在Apache Server上创建Virtuals Host。 Apache VirtualHost Python是使用Python3创建的,与您的操作系统非常兼容。

    apache2-virtualhost

    apache2-virtualhost 将虚拟主机文件添加到apache2 sudo curl -o apache2-virtualhost.sh ...

    apache2-create-virtualhost:为其他网站添加虚拟主机

    apache2-create-virtualhost 该脚本为apache2 Web服务器创建了附加的virtualhost配置。 接受2个参数,网站目录,网站域名。 只需将这两个参数添加到下面的代码片段的末尾即可。在下面运行此代码以执行脚本以启动...

    Apache中Virtual Host虚拟主机配置及rewrite参数说明

    ### Apache中Virtual Host虚拟主机配置及Rewrite参数详解 #### 一、Virtual Host虚拟主机配置 **1.1 概念介绍** 在Apache服务器中,Virtual Host(虚拟主机)技术允许在同一台物理服务器上托管多个不同的网站或Web...

    Apache VirtualHost Transfer Counter-开源

    Apache VirtualHost Transfer Counter是一组文件,可让您快速轻松地监控服务器上http bandwitch的利用率。 它也可以为您提供有关VirtualHosts的一些统计信息。

    单台服务器中利用Apache的VirtualHost如何搭建多个Web站点详解

    本文将详细记录一下如何在单台服务器上,利用apache的virtualhost(虚拟主机)来搭建多个不同的web站点,并且每个站点独立管理自己的session,下面话不多说了,来一起看看详细的介绍吧。 开发环境 先说下我各项开发...

    Apache-VirtualHost-Manager:一个小的bash脚本,可让您管理apache虚拟主机

    适用于Apache 2.4.7的VirtualHost管理器 由于我在虚拟机上测试了各种开源自托管应用程序,因此决定创建一个用bash编写的小脚本,该脚本可帮助我配置初始设置。 我已经在Ubuntu 14.04 LTS上对其进行了测试,它也应该...

    apache 设置主机头,同一端口绑定多个域名和网站

    这可以通过配置虚拟主机(Virtual Hosts)来实现,其中一种方法是使用基于主机头的名称虚拟主机(Name-based Virtual Hosting)。这种方法允许我们在同一个端口上为不同的域名配置多个网站。 #### 基本概念 1. **...

    CentOS配置虚拟主机virtualhost使服务器支持多网站多域名的方法

    这通常通过使用Apache的虚拟主机(VirtualHost)功能实现。虚拟主机允许在一个单一的服务器上运行多个独立的网站,每个网站对应一个不同的域名或子域名。以下是详细的配置步骤和注意事项: 1. **启用VirtualHost...

    CentOS下Apache配置多域名或者多端口映射

    每个虚拟主机都使用 `&lt;VirtualHost&gt;` 块来定义。例如,对于 `www.website1.com` 和 `website1.com` 的配置如下: ```apache NameVirtualHost *:80 &lt;VirtualHost *:80&gt; DocumentRoot /var/www/html/website1 ...

    apache配置虚拟主机

    要避免这种情况,需要保留一个默认的`VirtualHost`配置,不指定任何IP地址和端口,这样Apache会将所有未匹配的请求转发给这个默认的虚拟主机。例如: ```apacheconf &lt;VirtualHost *:80&gt; DocumentRoot /var/...

    利用apache包来完成excel导入导出

    ### 使用Apache POI进行Excel导入导出操作 在IT领域,数据处理是极其重要的环节之一,而Excel作为数据处理工具中的佼佼者,在各种应用场景中都占有举足轻重的地位。对于Java开发者而言,能够有效地读取、写入Excel...

    virtualhost:Bash脚本可轻松在ubuntu上创建或删除apache虚拟主机

    $ 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配置多端口及Apache端口修改方法

    这样,Apache将同时监听这三个端口,但为了使每个端口对应不同的网站,需要使用`&lt;VirtualHost&gt;`容器来指定每个端口对应的网站配置。 #### 三、创建虚拟主机 虚拟主机允许在同一台服务器上托管多个独立的网站,每个...

    apache-jmeter文件导入

    apache-jmeter测压工具生成的文档,用jmeter导入即可,

    apache三种虚拟主机的配置

    根据给定文件的信息,本文将详细介绍Apache的三种虚拟主机配置方式:基于名称的虚拟主机(Name-based Virtual Hosts)、基于IP地址的虚拟主机(IP-based Virtual Hosts)以及基于端口的虚拟主机(Port-based Virtual...

    Apache NameVirtualHost *:80 has no VirtualHosts问题解决办法

    这个错误是由于Apache无法找到任何与NameVirtualHost指令匹配的VirtualHost配置。 首先,让我们深入理解一下`NameVirtualHost`和`VirtualHost`这两个概念: 1. **NameVirtualHost**: 这个指令告诉Apache启用基于...

Global site tag (gtag.js) - Google Analytics