在Tomcat中实现虚拟主机 (在Tomcat中实现独立域名映射应用,而不是以目录的形式)

问题背景:

在常规情况下,如果我们部署2个用到Tomcat中,只能将一个应用命名为ROOT,在做了域名-IP的映射之后,我们可以通过类似http://www.jangle.xyz的方式访问该应用。

但如果我们添加一个新的应用:如hello应用, 常规的,我们将通过http://www.jangle.xyz/hello 的方式访问这个应用服务器。

由于域名映射不能带目录,  即:即时做了 hello.jangle.xyz 也不能映射至 123.12.32.45/hello 来实现对应关系。

 

解决方案:

如果希望实现 hello.jangle.xyz 映射至 123.12.32.45  并定位到 hello应用 ,并且

www.jangle.xyz 也映射至123.12.32.45 并定位到ROOT应用。   那么Tomcat提供Host的配置方式,实现这样的需求。

参考:Tomcat的总体架构概览2(v8.5)(用server.xml的视角解读)

我们在server.xml中,找到Engine节点下的Host节点,  编写一个Host的兄弟节点(即Engine的子节点),如下:

 <Host name="hello.jangle.xyz"  >
        <Context docBase="D:/jangle/hello" path="/"></Context>
 </Host>

docBase 是应用的绝对路径,  path="/" 表示顶级路径。  这样,我们就可以使用地址http://hello.jangle.xyz 访问到 123.12.32.45的hello项目, 并且 http://www.jangle.xyz 所访问的ROOT项目不受影响。
 

在<Host>中添加<Alias>,设置别名,即实现多个域名对应一个主机。

<Host ...>
<Alias>blog.jangle.xyz</Alias>
</Host>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值