1. 程式人生 > >apache+tomcat配置動態二級域名

apache+tomcat配置動態二級域名

apache2.2配置

編譯要求支援的元件:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
 

編輯主配置檔案:conf/httpd.conf,再檔案結尾加入:

ProxyRequests Off
ProxyPreserveHost on
 

開啟虛擬主機配置的Include

#Include conf/extra/httpd-vhosts.conf

 修改為:

Include conf/extra/httpd-vhosts.conf
 

編輯虛擬主機配置檔案 vi conf/extra/http-vhost.conf

 1.預設虛擬主機,使用ip或任意域名訪問

# default host configuration for business and rm
<VirtualHost *:80>
  ErrorLog "logs/error_default.log"
  LogLevel warn
  CustomLog "logs/access_default.log" combinedio

  ProxyPass / balancer://cluster-busi/ stickysession=jsessionid nofailover=Off
  ProxyPassReverse / balancer://cluster-busi/
  # business ab+lb, Horizontal expansion of multiple business nodes
  <Proxy balancer://cluster-busi>
    BalancerMember  http://10.10.10.181:8013 loadfactor=5 retry=10
    BalancerMember  http://10.10.10.182:8013 loadfactor=5 retry=10
    ProxySet lbmethod=bybusyness
  </Proxy>
</VirtualHost>
 

2.域名訪問

   支援: http://www.domain.com 和http://username.domain.com

   對於二級域名:http://username.domain.com先使用rewrite重寫為:http://username.domain.com/username/,然後再使用proxy轉發到下層的tomcat叢集處理

<VirtualHost *:80>  
  ServerName s3.amazonaws.com
  ServerAlias *.s3.amazonaws.com
  
  ErrorLog "logs/error_s3.log"  
  LogLevel warn
  CustomLog "logs/access_s3.log" combinedio  
  
  RewriteEngine on  
  RewriteLog "logs/rewrite_s3.log"  
  RewriteLogLevel 3
  RewriteCond %{HTTP_HOST} !^s3\.amazonaws\.com$
  RewriteCond %{HTTP_HOST} ^.+\.s3\.amazonaws\.com$
  RewriteRule /(.*) /%{HTTP_HOST}/$1  
  RewriteRule /(.+)\.s3\.amazonaws\.com/(.*)$ /$1/$2 [PT]
  
	ProxyPass / balancer://cluster-s3/ nofailover=Off  
  ProxyPassReverse / balancer://cluster-s3/  
  <Proxy balancer://cluster-s3>  
    BalancerMember  http://localhost:8080/awsintf	 loadfactor=1 retry=10  
    BalancerMember  http://10.10.10.182:8013/oss loadfactor=5 retry=10  
    ProxySet lbmethod=byrequests  
  </Proxy>
</VirtualHost>
 

tomcat叢集配置略。