将域映射到Tomcat应用程序

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

我有两个问题:

  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 

我曾经尝试过这个教程 ,它有一些技巧,但不完全是我想要的。 即在执行他提到的步骤后,我打开我的example.comredirect到我的tomcat应用程序,如:example.com/app1。 [它删除了8080,并redirect到正确的应用程序]但如果从最后的应用程序被改变,即app1被更改为其他项目,由tomcat托pipe那么该项目打开。

编辑:

我的虚拟主机文件是

  # 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

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

Solutions Collecting From Web of "将域映射到Tomcat应用程序"

你配置好你的http服务器吗?

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

  #Loadmodulee directives Loadmodulee proxy_module /usr/lib/apache2/modules/mod_proxy.so Loadmodulee 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> 

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