我在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我能够访问我的应用程序。如何实现呢?
答案 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 就会被访问。