积累,创造,分享!

BlogJava 首页 新随笔 联系 聚合 管理
  25 Posts :: 13 Stories :: 26 Comments :: 0 Trackbacks

大家可能都有体会,在weblogic上部署了应用以后。访问的时候都要敲上一堆url。最典型的就是如下:http;//localhost:7001/webapp/……等等,这个在我们的自己的开发环境上倒是可以勉强接受,可是在真正的网站发布的时候,到了用户那里,人家可不愿意在域名后面敲上难记的端口再加上一堆路径。而且,当weblogic上面部署了几个不同的应用的时候,人家该怎么通过不同的域名来访问我的站点呢?这些就是我们接下来要解决的问题。

 

让我们以XX政府电子政务项目中的一个解决办法作为例子吧。首先交代一下环境:数据库用的是是oracle。Web应用是部署在weblogic上面的,其中有两个web应用是要通过域名让外界访问的,一个是外网门户网站,web应用中名字简称为WWMH。一个是内网门户网站,web应用中的名字简称为NWMH。假设这两个应用是处于同一个目录中的,他们的文件夹就是他们web应用的名称,两个域名分别是www.xxxx.gov.cn和inner.xxxx.gov.cn。

 

我们先看看域名访问的大体过程:

比如外部某个机器输入域名访问www.xxxx.gov.cn,这个域名会被解析成为ip地址以及一些请求的主机信息,这样找到DNS服务器。再通过DNS所设的ip指向weblogic所在主机,这样就可以访问到外网的应用,具体详细的DNS原理请参见其他资料。

 

外网几个关键配置如下:在这里的前提条件是你的web应用已经部署上了。首先要把mydomain->Servers->myservers中的list port端口改为80,默认的是7001。这样你通过域名访问的时候就不需要敲入端口,因为默认的就是80。然而仅仅这样还是不够的,此时如果你通过域名访问的时候,在域名后面还得跟上WWMH的文件夹路径,否则访问不到。我们现在所要设置的是context root的路径。把WWMH的文件夹去掉,取而代之的是 ”/”,这样你默认的路径就是根目录了,做法是找到weblogic.xml文件,加上/,重起服务,这样通过域名就可以访问了。

 

如果仅仅是部署了一个应用,通过这样的配置访问当然没有问题。可是,一个weblogic上会部署多个应用。需要通过不同的域名来访问,此时,该怎么办?比如说这里的内网,在外网已经配置好的情况下,又不忍心去改动以前配置好的成果。特别是前面的开发人员已经配置好的情况下。我们想到了weblogic自身的一个功能,那就是设置虚拟主机。它的思想就是,把内网的应用模拟成另外一个域名,通过这个域名来达到访问内网的目的。

 

具体的配置如下:在weblogic的console的左边导航栏,中选择mydomain ->Services-> VirtualHosts,然后在右面点击Configure a new Virtual Host...,在Configuration的General选项卡下面,填写:Name: NWMH 。Virtual Host Names里面填上: inner.weifang.gov.cn。然后点击“apply”,然后到Target and Deploy 选项卡,选中myserver,点击“apply”,这样名称为NWMH的虚拟主机就搭建成功了。

 

   接下来在weblogic的console的左边导航栏,中选择mydomain ->Deployments-> Web Application Modeules,在deploy NWMH的应用时,在 Virtual Hosts下选上NWMH,点击 Deploy按钮。这样虚拟主机的配置算是完成了。但是,想要通过域名直接访问内网还是不行。后面还得跟上讨厌的路径,比如inner.xxxx.gov/NWMH,然而默认的路径已经被外网给占用了,如果你在内网的配置文件里面加上/,部署肯定是不成功的,weblogic会告诉你,context root已经被占用。怎么办?其实不要慌。解决办法如下:

在内网门户的配置文件上加上

重起服务,敲入域名inner.xxxx.gov.cn。一切ok!问题解决。通过这种方法,weblogic上即使再部署几个应用都是可以解决的。

 

以上内容仅仅是个人在做项目中的心得。并不保证其技术的完整性和绝对正确。

posted on 2005-08-04 15:05 nighthawk 阅读(3266) 评论(2)  编辑  收藏 所属分类: 开发心得

Feedback

# re: 谈谈如何通过网站域名访问weblogic中的应用。(原创) 2008-11-25 23:24 ly
我也准备配置通过域名访问weblogic服务,我使用的是9.2的版本,但是我在导航栏里面没有找到VirtualHosts,应该怎么办呢?  回复  更多评论
  

# re: 谈谈如何通过网站域名访问weblogic中的应用。(原创) 2009-04-30 21:17 suxh
你上面讲的weblogic是哪个版本的,你说的设置虚拟主机我也设了,可就是不能访问,还需要改哪些东西  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: