Apache子域重定向到Tomcat

Pav*_*sky 3 apache subdomain tomcat mod-proxy mod-jk

我很新的的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的先验知识.有人能跟我走吗?

非常感谢,-PK.

mag*_*omi 10

mod_jk已过时.建议使用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> 
Run Code Online (Sandbox Code Playgroud)

  • 不,但我希望有关创建2 VH的提示.不要误会我的意思,你是一个巨大的帮助! (2认同)

Pav*_*sky 5

而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
Run Code Online (Sandbox Code Playgroud)
  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>
    
    Run Code Online (Sandbox Code Playgroud)

这会将您的站点(www.domain.com)指向您的Apache HTTP服务器,并将对Application的所有调用重定向到Tomcat.

希望这可以帮助,

-PK