2015-11-03 42 views
0

我有一个虚拟的云服务器上有一个tomcat 7运行在端口8080例如。 a.x.y.z:8080(其中a.x.y.z是公共ip)。我在tomcat上的上下文路径“hello”上部署了一个应用程序,以便我可以像a.x.y.z:8080/hello那样访问它。 现在我已经买了一个域名example.com,并且已经将它翻译成了公有ip axyz,现在我可以通过url example.com:8080/hello访问我的应用程序,但实际上我想要的是在访问example.com我将能够访问我的应用程序。如何实现它?通过域名访问tomcat应用程序

回答

0

好吧,我解决了这个问题:

安装的Apache2后,在/etc/apache2/apache2.conf中文件 我附:

<VirtualHost *:80> 
    ProxyPreserveHost On 
    ProxyRequests Off 
    ServerName www.example.com 
    ServerAlias example.com 
    ProxyPass/http://localhost:8080/ 
    ProxyPassReverse/http://localhost:8080/ 
</VirtualHost> 

保存文件并重新启动的Apache2服务器。 有了这个,每当我点击example.com时,我都会得到tomcat的主页(localhost:8080)。然后我打开了tomcat管理器(example.com/manager/html)并停止了&在根目录(/)路径处取消部署应用程序。 (因此,无论何时您访问example.com,您将不再看到tomcat主页,而是一个空白页面)

现在我在tomcat中将我的应用程序部署为root。如果你正在使用maven,你可以这样做,如here。 由于这个我的应用程序在example.com中可用。 (如果不部署应用程序的根目录,你必须使用example.com/myapp访问它)

现在,每当我打example.com MYAPP将被访问。

0

您可以使用mod_proxy模块使用您的域名访问您的tomcat应用程序,请登录您的服务器并使用以下代码更新您的httpd配置。

ProxyPreserveHost On 
ProxyPass/http://0.0.0.0:8080/ 
ProxyPassReverse/http://0.0.0.0:8080/ 

注意:在上面的代码中更新正确的服务器IP而不是0.0.0.0。

相关问题