Hi All
I've been using pound 2.5 for some time and it's been working nicely.
I'm just in the process of building a new LB using pound 2.6 and I'm hitting a
problem
I'm not certain it's related to the version.
Anyway, my current load balancer is handling SSL termination for me.
I've created some rules so that people accessing the login or registration
pages are redirected to https.
That's been working fine.
On 2.6 the same configuration does not work. When I try and access login i end
up in a redirect loop rather then being redirected to the page.
here are the relevant files;
pound.cfg:
ListenHTTP
Address <IP address>
Port 80
#RewriteLocation 2 was required with 2.5 to make this work
RewriteLocation 2
#Normal service statements...
ListenHTTPS
Address <IP address>
Port 443
Cert "/etc/ssl/localcerts/site.pem"
CAList "/etc/ssl/localcerts/gd_bundle.crt"
#Add a header so we know the connection has passed via https.
AddHeader "IS_SSL: SSL"
RewriteLocation 2
Then, on the web servers the .htaccess file is as follows;
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
# force https for /login and /register
# first check that we DON'T have the IS_SSL header set to SSL (it would
only be set when we pass through ListenHTTPS on the LB
RewriteCond %{HTTP:IS_SSL} !^SSL$
# if it's not set, rewrite to HTTPS for these pages.
RewriteRule ^(login|register|payment.*|gopro)$
https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L]
# don't do anything for images/css/js (leave protocol as is)
RewriteRule \.(woff|gif|jpe?g|png|css|js)$ - [NC,L]
# force http for all other URLs
RewriteCond %{HTTP:IS_SSL} ^SSL$
RewriteCond %{REQUEST_URI} !^/(login|register|payment.*|gopro)$
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=302,L]
The log output (as you can see it just loops).
strip per-dir prefix: /home/flooting/src/YMGN/trunk/www/flooting/login -> login
applying pattern '^(login|register|payment.*|gopro)$' to uri 'login'
rewrite 'login' -> 'https://flooting.com/login'
explicitly forcing redirect with https://flooting.com/login
trying to replace prefix /home/flooting/src/YMGN/trunk/www/flooting/ with /
escaping https://flooting.com/login for redirect
redirect to https://flooting.com/login [REDIRECT/302]
strip per-dir prefix: /home/flooting/src/YMGN/trunk/www/flooting/login -> login
applying pattern '^(login|register|payment.*|gopro)$' to uri 'login'
rewrite 'login' -> 'https://flooting.com/login'
explicitly forcing redirect with https://flooting.com/login
trying to replace prefix /home/flooting/src/YMGN/trunk/www/flooting/ with /
escaping https://flooting.com/login for redirect
redirect to https://flooting.com/login [REDIRECT/302]
strip per-dir prefix: /home/flooting/src/YMGN/trunk/www/flooting/login -> login
applying pattern '^(login|register|payment.*|gopro)$' to uri 'login'
rewrite 'login' -> 'https://flooting.com/login'
explicitly forcing redirect with https://flooting.com/login
trying to replace prefix /home/flooting/src/YMGN/trunk/www/flooting/ with /
As I said, this has been working fine.
The only change I'm aware of is the version change, but perhaps there is
something else I've missed in the new machine.
Any thoughts greatly appreciated.
Mark.
--
To unsubscribe send an email with subject unsubscribe to [email protected].
Please contact [email protected] for questions.