【问题标题】:access tomcat application via the domain name通过域名访问tomcat应用
【发布时间】:2016-02-04 03:45:44
【问题描述】:

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

【问题讨论】:

    标签: dns


    【解决方案1】:

    您可以使用 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。

    【讨论】:

      【解决方案2】:

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

      安装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 主页,而是一个空白页面)

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

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

      【讨论】:

        猜你喜欢
        • 2015-09-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-19
        • 2021-07-08
        • 2016-03-30
        • 2020-05-14
        相关资源
        最近更新 更多