通过域名访问tomcat应用程序

时间:2015-11-03 20:28:35

标签: dns

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

2 个答案:

答案 0 :(得分: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。

答案 1 :(得分:0)

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

在/etc/apache2/apache2.conf文件中安装apache2之后 我附上:

<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)并停止了&amp;在根(/)路径上取消部署应用程序。 (因此,每当你点击example.com时,你将不再看到tomcat主页,而是一个空白页面)

现在我在tomcat中将我的应用程序部署为 root 。如果你正在使用maven,你可以像here那样使用。 因此,我的应用程序在example.com中可用。 (如果您不以root用户身份部署应用程序,则必须使用example.com/myapp访问它)

现在,只要我点击example.com myapp 就会被访问。