如何使用域名而不是localhost / IP地址访问本地Web应用程序?

时间:2012-03-04 06:49:23

标签: java web-applications tomcat dns

我在本地Tomcat服务器上托管了基于Java的Web应用程序。截至目前,我正在使用http://localhost:8080/myApp之类的网址访问它。但我希望使用域名访问它,例如http://us.localApp.com/myApp。 Simlilary我希望网络上的其他机器只能通过此域URL访问它。我是否必须在我的应用程序或Tomcat设置中进行更改,或者我是否需要提及 我的hosts file中的127.0.0.1 us.localApp.com条目。

我可以在appConfig.xml中看到此条目,并且还看到有些人使用localApp.com <!ENTITY appDomain "localApp.com">进行访问,但我该如何处理呢?

我在 hosts 文件中创建了条目127.0.0.1 google.com。当我输入http://google.com时,我希望它会重定向到本地应用程序,即我的应用程序,但它仍会转到Google网站。为什么呢?

2 个答案:

答案 0 :(得分:2)

hosts文件是我能想到的最简单的方法,但它需要在每台机器上本地实现。另一种方法是在您的网络上安装本地DNS服务器,并将该特定DNS请求路由到您的应用服务器。

答案 1 :(得分:1)

  1. 主机文件不接受通配符(某些应用程序,如angryhosts)。您的地址必须包含子域名,至少是默认的子域名:www.localApp.com

    主机文件不知道端口。您必须访问您的应用程序,如us.myApp.com:8080/myApp或将您的tomcat端口更改为Web默认值(80)。如果您需要为此子域使用单独的逻辑,请使用拦截器类。

    此方法仅用于测试目的,因为您必须在访问应用的每台计算机上执行此操作。

  2. 使用Tomcat虚拟主机 http://tomcat.apache.org/tomcat-6.0-doc/virtual-hosting-howto.html

  3. 如果您想以www.myApp.com而非www.myApp.com/myApp访问您的应用,您可能希望删除Tomcat中的ROOT项目文件夹,并将您的应用重命名为ROOT。或者阅读这篇文章的评论: http://benhutchison.wordpress.com/2008/07/30/how-to-configure-tomcat-root-context/