Yep, top down.

But that would also mean if the headrequire matches, and it’s sending to the 
backend on port 8970, and that backend is dead – you’ll get a 503. (i.e. not 
listening on 127.0.0.1, firewalled, port not open, etc)

I’m not sure if you actually have the regexes in like this:

HeadRequire "secure.contractpal.com<http://secure.contractpal.com> 
<http://secure.contractpal.com>"
Or if your email client is being too smart for its own good and trying to turn 
the web link into an email link.  If they actually are like this, they won’t 
work. :)
Dave’s regex suggestion would be better.
Or even something like:
HeadRequire "^Host:[ \t]*secure\.contractpal\.com(:443)?$"   <to catch the 
possible explicit port in the host header case

And you’ll probably want the secure.example.com to match secure.contractpal.com 
if it doesn’t already. (that’s what I was thinking… redirect loop because 
you’re redirecting to a different name than you’re trapping for)
-G


From: Rob Hicks [mailto:[email protected]]
Sent: Monday, August 06, 2012 1:58 PM
To: [email protected]
Subject: Re: [Pound Mailing List] Config to Catch All Requests

Joe,

Good catch on the Host.

Yes the SSL listener creates a redirect loop. But that is part of what I don't 
understand. According to what I have read, shouldn't the first service block 
service the request if the HeadRequire is met? If not, the request would fall 
through to the next service, which would create the redirect.

What I need to do is this:

1) if a request comes in that with the proper name in host, service the request 
through the associated backends.
2) if a request comes in without the proper name in host, redirect the user to 
the login page.

How does service matching occur? Does it occur top down?

Rob
On Mon, Aug 6, 2012 at 11:39 AM, Joe Gooch 
<[email protected]<mailto:[email protected]>> wrote:
Wouldn’t your 443 listener cause a redirect loop?
Also your 443 listener doesn’t have Host: in it…
Joe

From: Rob Hicks [mailto:[email protected]<mailto:[email protected]>]
Sent: Monday, August 06, 2012 1:29 PM
To: [email protected]<mailto:[email protected]>
Subject: Re: [Pound Mailing List] Config to Catch All Requests

Dave,

Yes, I didn't put the full RegEx in the HeadRequires in the post.

The last redirect never happens. Pound returns a 503 error.

Rob
On Mon, Aug 6, 2012 at 11:18 AM, Dave Steinberg 
<[email protected]<mailto:[email protected]>> wrote:
On 8/6/2012 12:58 PM, Rob Hicks wrote:
Hi.

I have a pound config that includes the following listeners. I have
added two new services at the end of each of the listeners. The idea is
to redirect the user to a proper url. This is necessary for a PCI
security scan, which is now complaining that 500 errors are PCI failures.

Shouldn't this work? If not, what is the right way to approach this problem?

Rob

ListenHTTP
     Address 0.0.0.0
     Port 80
     Service
         HeadRequire "(Host: www.example.com<http://www.example.com> 
<http://www.example.com>)"

         BackEnd
             Address 127.0.0.1
             Port    8970
         End
     End
     Service
         HeadRequire "(Host: secure.example.com<http://secure.example.com>
<http://secure.example.com>)"

         Redirect "https://secure.example.com";

     End
     Service
         Redirect "https://secure.example.com";
     End
End

ListenHTTPS
     Address 0.0.0.0
     Port    443
Cert    "/etc/pound/secure.example.com.pem"
     Ciphers "-ALL +SSLv3 +TLSv1 HIGH:!SSLv2:!ADH:!aNULL:!eNULL:!NULL"
     xHTTP 2
     Service
         HeadRequire "secure.contractpal.com<http://secure.contractpal.com>
<http://secure.contractpal.com>"

         BackEnd
             Address 127.0.0.1
             Port    8970
         End
     End
Service
         Redirect "https://secure.example.com";
     End
End

This seems like it ought to work.  Where is it failing?

PS: Your Host header regexps could be improved.  Try:

HeadRequire "^Host:[ \t]*secure\.example\.com$"

--
Dave Steinberg
http://www.geekisp.com/
http://www.steinbergcomputing.com/
http://www.redterror.net/

--
To unsubscribe send an email with subject unsubscribe to 
[email protected]<mailto:[email protected]>.
Please contact [email protected]<mailto:[email protected]> for questions.


Reply via email to