我在aws上有一个虚拟云服务器,在端口8080上运行tomcat 7。a.x.y.z:8080 (其中a.x.y.z是公共ip)。我在上下文路径"hello“上的tomcat上部署了一个应用程序,这样我就可以像a.x.y.z:8080/hello一样访问它。现在,我已经购买了一个域名example.com,并将其翻译成公共ip a.x.y.z,这样现在我就可以通过urlexample.com:8080/hello访问我的应用程序了,但实际上我想要的是,只要点击example.com,我就可以访问我的应用程序了。如何实现这一目标?
发布于 2015-11-04 17:40:50
好,我解决了这个问题:
安装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)并停止&在root (/)路径下卸载应用程序。(因此,每当您访问example.com时,您将不再看到tomcat主页,而是一个空白页)
现在,我将我的应用程序部署为tomcat中的root。如果您正在使用maven,您可以像here一样这样做。因此,我的应用程序可以在example.com中使用。(如果不将应用程序部署为root用户,则必须使用example.com/myapp访问应用程序)
现在,每当我点击example.com,我的应用程序就会被访问。
https://stackoverflow.com/questions/33508458
复制相似问题