让JBoss支持多域名:1个IP映射多个域名的实现方法
2013-07-08 13:29
429 查看
让JBoss支持多域名:1个IP映射多个域名的实现方法
首先假设阅读本文的读者朋友已经申请了多个域名,而且这多个域名都指向同一个IP。另外还假设你的服务器只开放一个80端口用来侦听浏览器等的请求。--因为比较简单,本文对于1个IP多端口映射多个域名的实现方法就不做介绍了。
在上面的假设下,你需要让你的服务器根据浏览器的请求,把不同域名里的正确的网页内容发送回去。
怎么办呢?从原理上讲,你的服务器必须支持这样的设置:能够根据域名来确定调用哪个服务。
在JBoss里,就支持这种设置。下面我们来介绍:
OS Server Windows Or Linux jboss-4.0.1
1,在你的项目里的 WEB-INF\下新建文件jboss-web.xml,类似如下内容:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE jboss-web
PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
<jboss-web>
<context-root>/</context-root>
<virtual-host>www.你的域名.com</virtual-host>
</jboss-web>
告诉JBoss你的WEB应用为 www.你的域名.com。
有几个这样的WEB应用则分别为其建立几个这样的文件配置。
2,修改 JBOSS_HOME\server\...\deploy\jbossweb-tomcatxx.sar\server.xml
找到:<Engine name…
在其中追加以下内容:
<Host name="www.你的域名.com"
autoDeploy="false" deployOnStartup="false" deployXML="false">
<Alias>你的域名.com</Alias>
<Alias>*.你的域名.com</Alias>
<!-- Access logger -->
<!-- -->
<Valve className="org.apache.catalina.valves.AccessLogValve"
prefix="yourdomain_access_log." suffix=".log"
pattern="common" directory="${jboss.server.home.dir}/log"
resolveHosts="true" />
<!-- Default context parameters -->
<DefaultContext cookies="true" crossContext="true" override="true"/>
</Host>
注意:这里的Host name属性的值好像要跟DNS里的域名设置相匹配(Windows环境下不经由DNS的时候,跟hosts里相应的值一样就行),当然也要跟jboss-web.xml里virtual-host值一样了。
eg:
<Host name="bbcplane.bbcmart.com"
autoDeploy="false" deployOnStartup="false" deployXML="false"
configClass="org.jboss.web.tomcat.security.config.JBossContextConfig"
>
<Valve className="org.jboss.web.tomcat.tc5.jca.CachedConnectionValve"
cachedConnectionManagerObjectName="jboss.jca:service=CachedConnectionManager"
transactionManagerObjectName="jboss:service=TransactionManager" />
<Alias>localhost2.bbcmart.com</Alias>
</Host>
<Host name="localhost4.bbcmart.com"
autoDeploy="false" deployOnStartup="false" deployXML="false"
configClass="org.jboss.web.tomcat.security.config.JBossContextConfig"
>
<Valve className="org.jboss.web.tomcat.tc5.jca.CachedConnectionValve"
cachedConnectionManagerObjectName="jboss.jca:service=CachedConnectionManager"
transactionManagerObjectName="jboss:service=TransactionManager" />
<Alias>localhost4.bbcmart.com</Alias>
</Host>
3,重新启动JBOSS
4,在浏览器输入:http://www.你的域名.com/ 加以确认
用这种方法可以为不同的域名对应不同的war,并且可以同时为root目录
注意
--------------
如果你的ROUTER不支持访问自己IP里的域名,在内部网络访问的情况下,你需要修改你的操作系统的配置。在Windows环境下则修改:
C:\WINDOWS\system32\drivers\etc\hosts,Linux环境同样修改/etc/hosts
内容如下:
127.0.0.1 localhost
127.0.0.1 www.你的域名.com
127.0.0.1 你的域名.com
127.0.0.1 *.你的域名.com
告诉你的浏览器,使其碰到以上域名时,不经过DNS解析。
注:该文章来源于网络,作者不详
eg:
127.0.0.1 bbcplane.bbcmart.com
127.0.0.1 localhost4.bbcmart.com
127.0.0.1 b2b.bbcmart.com
192.168.1.113 bbcplane.6600.org
120.199.23.226 120.199.23.226
#192.168.1.133 jipiao.133.com
192.168.1.133 jiudian.133.com
#192.168.1.133 tianqi.133.com
#192.168.1.133 ditu.133.com
#192.168.1.133 haibi.133.com
相关文章推荐
- 让JBoss支持多域名:1个IP映射多个域名的实现方法
- 让apache只允许域名访问而禁止IP实现方法
- Linux下c实现域名转IP的方法封装
- apache实现部署多个网站(一个ip部署多域名)的方法详解
- 一个IP绑定多个域名的实现方法
- Apache添加多端口及实现单ip多端口映射的方法
- 实现TOMCAT服务下一个ip绑定多域名绑定的方法
- 域名转换IP的一种实现方法
- 配置Nginx支持SSL SNI(一个IP绑定多个证书) 以及Haproxy实现多域名证书
- 让mayfish支持mysqli数据库驱动的实现方法
- 让nginx支持.htaccess文件实现伪静态的方法!
- C++实现获取IP、子网掩码、网关、DNS等本机网络参数的方法
- 3 微信开发本地代理环境的搭建--实现将内网ip映射到外网
- Java编程实现服务器端支持断点续传的方法(可支持快车、迅雷)
- Mybatis Generator的model生成中文注释,支持oracle和mysql(通过实现CommentGenerator接口的方法来实现)
- Android编程实现动态支持多语言的方法
- 实现一个机器部署多个WEB站点的常见方法【端口、主机头、ip】
- nginx实现带参数目录域名重定向二级域名方法
- eclipse + JBoss 5 + EJB3开发指南(7):实现Entity Bean的一对一(one-to-one)映射