Apache子域重定向到Tomcat

时间:2012-04-17 22:34:55

标签: apache tomcat subdomain mod-proxy mod-jk

我对Apache HTTP和一般的系统管理都很陌生,所以我有这个问题 我有一个域名(www.doamin.com),一个Apache收听端口80, 我也在同一个域上配置了一个配置为端口8080的Apache Tomcat。

有没有办法配置子域名(即tomcat.domain.com) 所以它会重定向到我的tomcat特定应用程序, 所以用户可以通过app1.domain.com和app2.domain.com访问应用程序(它将由Tomcat提供)?

我见过很多提到

  

mod_jk的

  

mod_proxy的

但所有帖子都假设了Apache的先验知识。 有人能跟我走吗?

非常感谢,-PK。

2 个答案:

答案 0 :(得分:10)

mod_jk已过时。建议使用mod_proxy(mod_proxy_http或mod_proxy_ajp)将您的apache服务器的转发请求连接到tomcat。

  1. 在apache config中定义虚拟主机
  2. 创建一个代理指令,将您的请求转发给tomcat
  3. 也许这个SO question会给你一些提示。

    您可以定义两个具有指定应用程序代理定义的虚拟主机(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> 
    

答案 1 :(得分:5)

而Magomi几乎是对的,

提出一种确切的方法。

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

  2. 将* mod_proxy *集成到 httpf.conf

  3. 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>
      
    2. 这会将您的网站(www.domain.com)定向到您的Apache HTTP服务器,并将所有对 Application 的调用重定向到Tomcat。

      希望这有助于,

      <强> -PK