我很新的的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。
mod_jk的是过时的。 据recomended使用的mod_proxy(mod_proxy_http或mod_proxy_ajp的)来转发请求连接到您的Apache服务器到tomcat。
- 在你的Apache配置定义虚拟主机
- 创建你的请求转发到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>
而Magomi几乎是正确的,
呈现精确的方式来做到这一点。
你的子域名添加到DNS服务器
整合* 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
定义两个虚拟主机作为以下
*了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