+ -
当前位置:首页 → 问答吧 → 外网访问tomcat问题

外网访问tomcat问题

时间:2010-09-08

来源:互联网

我用struts写了一个简单的网页应用程序,然后用tomcat发布。同时我注册了一个免费的花生壳的域名,将其我我的路由器绑定。具体情况如下:

我有两个路由器,一个用的是电信宽带(叫做路由器A),另外一个是光纤(叫做路由器B)(也就是说他们其实是两个网络)

服务器挂接在路由器A下,其内网IP为192.168.1.2 我将tomcat安装在这个机器上,并且将免费的域名挂接路由器路由器A,我也将路由器A做了端口转接,将8080映射到该服务器。服务器的防火墙我已经关闭。tomcat中server.xml的配置文件connector port是8080 <Engine name="Catalina" defaultHost="192.168.1.2"> <Host name="192.168.1.2" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> 

问题是:如果我使用挂接在A路由器下的客户端用域名就可以访问到tomcat部署的程序(这也说明我的配置应该没有问题),可是我如果使用挂接在路由器B下的壳客户端去访问这个服务器发布的程序就不可以了。

大家能够帮忙告诉下是不是server.xml配置文件有问题,还是说?在线等。

作者: yogafrank   发布时间: 2010-09-08

楼主在路由器A下面做了端口映射到8080端口,能够正常访问,那在路由器B下面,IP是不是固定的,server.xml配置文件里的host name要配置到你接外网的IP下面。

作者: zyujie   发布时间: 2010-09-08

我的免费域名是studiopilote.gicp.net 你的意思是说hostname要写成这个域名么?可是我有这样写过好像还是不行,部署好了之后,外面的网络始终无法访问。

其实这个地方你可以把路由器B看成是外网,路由器A看成是内网。我在内网用域名(http://studiopilote.gicp.net:8080/Test可以访问)但是一旦到了外网用这个来访问就不可以了。按道理既然映射,域名什么的都做好了,在内网可以这样访问了,在外网也应该可以才对的。

作者: yogafrank   发布时间: 2010-09-08