Thursday, April 3, 2014

Request forwarding based on HTTP Header

HTTP Proxy example:


<VirtualHost 1.2.3.4:80> 
   ServerName dynamic-proxy.company.com 
   DocumentRoot "/application/web_server/root" 
   CustomLog logs/dynamic-proxy.access_80.log combined env=!nolog 
   ErrorLog logs/dynamic-proxy.error_80.log 

   RewriteEngine on 

   <Directory /application/web_server/root> 
      Order Deny,Allow 
      Allow from all 
   </Directory> 

   AddDefaultCharset UTF-8
    
#################################################################################
#                                        Server #1
#################################################################################

   RewriteCond /application/web_server/srv01/%{HTTP:x-msisdn} -f 
   RewriteRule ^/root/(.*)$ http://srv01.int.company.com/root/$1 [L,NE] 

#################################################################################
#                                        Server #2
#################################################################################

   RewriteCond /application/web_server/srv02/%{HTTP:x-msisdn} -f 
   RewriteRule ^/root/(.*)$ http://srv02.int.company.com/root/$1 [L,NE] 

################################################################################# 
#                                        Server #3
#################################################################################

   RewriteCond /application/web_server/srv03/%{HTTP:x-msisdn} -f 
   RewriteRule ^/root/(.*)$ http://srv03.int.company.com/root/$1 [L,NE] 

#################################################################################
#                                        DEFAULT 
#################################################################################

   RewriteRule ^/root/(.*)$ http://prd01.int.company.com/root/$1 [L,NE] 

   # Avoid Cross Site Scripting 
   RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) 
   RewriteRuLe .* - [F] 
</VirtualHost> 

No comments:

Post a Comment