Apache的子域名重定向到Tomcat(Apache subdomain redirect int

2019-06-23 17:55发布

我很新的的Apache HTTP,和一般的系统管理员-ING,所以我有这个问题,我有一个域(www.doamin.com)与Apache监听80端口,还我有一个的Apache Tomcat在同一个域配置到端口8080。

是否存在一种配置的子域(即tomcat.domain.com),所以它会重定向到我的tomcat的具体应用,所以用户可以通过app1.domain.com和app2.domain.com访问应用程序(这将送达的方式被Tomcat)?

我已经看到了很多提至

mod_jk的

mod_proxy的

但所有的职位的假定与Apache先验知识。 可有人走在我thorugh?

非常感谢,-PK。

Answer 1:

mod_jk的是过时的。 据recomended使用的mod_proxy(mod_proxy_http或mod_proxy_ajp的)来转发请求连接到您的Apache服务器到tomcat。

  1. 在你的Apache配置定义虚拟主机
  2. 创建你的请求转发到Tomcat代理指令

也许这太问题给你一些提示。

您可以定义有自己指定的应用程序代理定义两个虚拟主机(app1.domain.tld和app2.domain.tld)。 例如用于APP1:

<VirtualHost *:80>
    ServerName app1.domain.tld
    ProxyRequests Off
    ProxyPreserveHost On
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass / http://localhost:8080/app1
    ProxyPassReverse / http://localhost:8080/app1
</VirtualHost> 


Answer 2:

而Magomi几乎是正确的,

呈现精确的方式来做到这一点。

  1. 你的子域名添加到DNS服务器

  2. 整合* mod_proxy的*为httpf.conf:

 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_scgi_module modules/mod_proxy_scgi.so 
  1. 定义两个虚拟主机作为以下

    *了NameVirtualHost:80

     <VirtualHost *:80> ServerName application.domain.com ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://www.domain.com:8080/application/ ProxyPassReverse / http://www.domain.com:8080/application/ </VirtualHost> <VirtualHost *:80> DocumentRoot C:\<pathToApache>\www ServerName www.domain.com </VirtualHost> 

这将引导你的网站(www.domain.com)到Apache HTTP服务器,并重定向到应用到Tomcat的所有呼叫。

希望这可以帮助,

-PK



文章来源: Apache subdomain redirect into Tomcat