I see that now. Will check with the developers and see if they can work with that. Thou, I'd still like to know why mod_rewrite is behaving funny. Mike Cardwell wrote: > mod_proxy should add an extra HTTP header to the request called > "X-Forwarded-For" which you can parse to retrieve the IP address from. > Note, this can contain multiple IPs if there are several proxies on > route so make sure you parse it correctly. > > Regards, > Mike > > Travis Sidelinger wrote: >> We have used both mod_rewrite and mod_proxy successfully in numerous >> configurations. Put them together and they don't seem to like each >> other. >> >> We have a working production mod_proxy_balancer configuration for two >> backend >> web servers that is working great, except... The backend web servers >> need the >> IP address of the clients to identify their location. >> >> Yes, I had suggested just adding a location drop down so that users >> could select >> their own location within the web application. Too inconvenient for >> the end >> user they say. >> >> They want "c_loc=xxx" added to the URL at the load balancer. Okay, >> this sounds >> like a job for mod_rewrite. This should be easy enough using the QSA >> option. >> But... mod_proxy works great, mod_rewrite works great, I put the to >> together and >> they seem to not like each other. >> >> Below is one of the many configurations tested. The best I can get is >> the URI >> components are mixed up incorrectly. Any ideas? >> >> My build of apache: >> tar -xvzf httpd-2.2.8.tar.gz >> cd httpd-2.2.8 >> CFLAGS="-O2" ./configure --enable-http --enable-info=shared \ >> --enable-ssl=shared --enable-rewrite=shared --enable-speling=shared \ >> --enable-cgi=shared --enable-deflate=shared --enable-disk-cache=shared \ >> --enable-cache=shared --enable-proxy=shared --enable-proxy-http=shared \ >> --enable-proxy-balancer=shared --prefix=/vol/devl/loadbalancer >> make >> make install >> >> <VirtualHost catalog-devl.tld.org:81> >> ServerName catalog-devl.tld.org >> LogLevel debug >> >> <Proxy *> >> AddDefaultCharset off >> Order Allow,Deny >> Allow from all >> </Proxy> >> >> <Location /balancer-manager> >> SetHandler balancer-manager >> Order Allow,Deny >> Allow from 192.168.200.0/24 192.168.222.0/24 192.168.223.0/24 >> 192.168.220.13 >> </Location> >> >> <Location /> >> Order Allow,Deny >> Allow from 192.168.0.0/16 172.16.0.0/12 >> </Location> >> >> # Add the client's location number to the URL >> RewriteEngine On >> # Large list of locations goes here. List removed to shorten for >> email >> RewriteCond %{REMOTE_HOST} ^192\.168\.1\.[5-8] >> RewriteRule /.*\.aspx?\? >> http://catalog-devl.tld.org%{REQUEST_URI}&c_loc=730 [L] >> RewriteCond %{REMOTE_HOST} ^192\.168\.220\. >> # Here are things I have tried >> RewriteRule "^/(.*)$" proxy:balancer://aquabrowser$1&c_loc=220" >> [QSA,L] # I >> get 404 Error: "GET //cd/README&c_loc=220%22?test=1 HTTP/1.1" in the >> logs of the >> backend server. >> RewriteRule "^(.*\?.*)$" >> "http://catalog1.tld.org%{REQUEST_URI}&c_loc=220" >> [L,P] # I get 404 Error: "GET /cd/README&c_loc=220?test=1 HTTP/1.1" >> in the logs >> of the backed server. >> # This is a long list other things I have tried. Nothing seems to >> work. >> >> ProxyRequests Off >> ProxyVia On >> ProxyPreserveHost On >> >> ProxyPass /balancer-manager ! >> >> # Catalog Development >> ProxyPass / balancer://aquabrowser/ >> <Proxy balancer://aquabrowser> >> BalancerMember http://catalogdev.tld.org:80 min=1 smax=20 >> loadfactor=5 >> #BalancerMember http://catalog1.tld.org:80 min=1 smax=20 >> loadfactor=5 >> route=CAT1 >> #BalancerMember http://catalog2.tld.org:80 min=1 smax=20 >> loadfactor=5 >> route=CAT2 >> ProxySet lbmethod=byrequests >> ProxySet stickysession=ABbalancer >> ProxySet nofailover=Off >> ProxySet maxattempts=3 >> ProxySet timeout=5 >> Order Allow,Deny >> Allow from 192.168.0.0/16 172.16.0.0/12 >> >> </Proxy> >> ProxyPassReverse / http://catalogdev.tld.org >> #ProxyPassReverse / http://catalog1.tld.org >> #ProxyPassReverse / http://catalog2.tld.org >> </VirtualHost> >> >> >> Travis Sidelinger >> >> >> --------------------------------------------------------------------- >> The official User-To-User support forum of the Apache HTTP Server >> Project. >> See <URL:http://httpd.apache.org/userslist.html> for more info. >> To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx >> " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx >> For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx >> >> >> >> --------------------------------------------------------------------- >> The official User-To-User support forum of the Apache HTTP Server >> Project. >> See <URL:http://httpd.apache.org/userslist.html> for more info. >> To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx >> " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx >> For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx >> >> > > > --------------------------------------------------------------------- > The official User-To-User support forum of the Apache HTTP Server Project. > See <URL:http://httpd.apache.org/userslist.html> for more info. > To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx > " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx > For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx > > --------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See <URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx