【问题标题】:Mapping domains to Tomcat Apps将域映射到 Tomcat 应用程序
【发布时间】:2014-12-01 12:56:51
【问题描述】:

我有一个安装了 CentOS 和 zpanel 的服务器。 Zpanel 与许多其他模块一起安装了“Apache Httpd”。我一直在托管多个域,没有任何问题。

我有两个问题:

  1. 移除 8080 端口并将所有调用定向到 80。
  2. 每个 tomcat 应用程序的适当域,以及我在 Apache Http 上独立运行的现有站点。

我安装了 apache tomcat 8 并部署了多个应用程序,我可以像这样访问我的应用程序

http://example:8080/app1
http://example:8080/app2
http://example:8080/app3

我想要的是我的 tomcat 应用程序映射到我的域,这样

http://example:8080/app1 => http://www.app1.com
http://example:8080/app2 => http://www.app2.com
http://example:8080/app3 => http://www.app3.com

我确实尝试了这个tutorial,它有点欺骗但不完全是我想要的。即执行他在我打开example.com时提到的步骤后,它重定向到我的tomcat应用程序,例如:example.com/app1。 [它确实删除了 8080 并重定向到正确的应用程序] 但是如果最后的应用程序发生更改,即 app1 更改为由 tomcat 托管的其他项目,则该项目将打开。

编辑:

我的虚拟主机文件是

 # DOMAIN: app1.com
 <virtualhost *:80>
 ServerName app1.com
 ServerAlias app1.com www.app1.com

 RewriteEngine On
 RewriteRule ^/$ app1/ [R=301]

     <Proxy *>
     Order allow,deny
     Allow from all
     </Proxy>

 ProxyRequests Off
 ProxyPreserveHost On
 ProxyPass /app1 http://localhost:8080/app1
 ProxyPassReverse /app1 http://localhost:8080/app1


 ErrorLog "/var/zpanel/logs/domains/zadmin/app1.com-error.log"
 CustomLog "/var/zpanel/logs/domains/zadmin/app1.com-access.log" combined
 CustomLog "/var/zpanel/logs/domains/zadmin/app1.com-bandwidth.log" common

 </virtualhost>

更新 1

我也试过this,但没用。我错过了什么吗?请指导。

【问题讨论】:

    标签: java linux apache .htaccess tomcat


    【解决方案1】:

    您是否正确配置了您的 http 服务器?

    例如在您的 apache2.conf 或 httpd.conf 中

     #LoadModule directives
     LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
     LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
    
    <VirtualHost *:80>
        ServerName www.example.com
        ProxyRequests Off
        ProxyPreserveHost On
        <Proxy *>
            Order deny,allow
            Allow from all
        </Proxy>
        ProxyPass / http://example.com:8080/app1
        ProxyPassReverse / http://example.com:8080/app1
    
        ProxyHTMLURLMap / /app1/
    
        <Location />
            Order allow,deny
            Allow from all
        </Location>
    </VirtualHost>
    

    【讨论】:

    • 我刚刚更新了我的问题。请检查。 P.S 有了这些配置,它仍然向我显示example.com/app1 :(
    • 使用你的配置,你尝试通过这个 url 访问你的应用 > app1.localhost,看看我的配置,有一些重要的区别
    • 将您的 ServerName 指令更改为 ServerName www.app1.com 并删除您的 ServerAlias
    【解决方案2】:

    经过 2 天的艰苦搜索和大量测试,我终于能够将我的域映射到 tomcat 应用程序。非常感谢这两位指南mod_jk installation 和vhost/httpd/tomcat

    【讨论】:

    • 我遇到了同样的问题 - 您的虚拟主机文件是适合您的吗?因为我试过了,它仍然不能正常工作
    猜你喜欢
    • 1970-01-01
    • 2011-12-29
    • 2018-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 2021-02-17
    相关资源
    最近更新 更多