[Pound Mailing List] SSL passthru with alternate source port without RewriteLocation possible
Dierk <[email protected]>
| Newsgroups | gmane.comp.web.pound.general |
|---|---|
| Message-ID | <[email protected]> |
Hi list,
we have following logical constellation with two wan-ports in use:
<Provider A + Provider B => Router>----<Pound>---<Webserver>
Here is a simplified example for our situation:
(test1|test2).domain.(com|de) with official IP (Provider A and B)
(test1|test2).domain.pwd with private IP (Pound) => 192.168.0.99
(test1|test2).domain.hst with private IP (Webserver) => 192.168.0.100
The first variant (test1) is to solve:
* Pound changed https to webserver http
* Pound passthru the http to webservers http
The second variant (test2) is to solve:
* Pound passthru the https to webservers https
* Pound passthru the http to webservers http
The Webserver redirect automatic http requests if https is required and
vice versa...
Our problem is "A" with a request, that must be http as final
request/result:
A. If we request from outside then following happens:
curl -I -k https://test1.domain.com/
> HTTP/1.1 302 Moved Temporarily
> ...
> Location: https://test1.domain.com/
B. If we request from pound-(in)side then following happens:
curl -I -k https://test1.domain.pwd/
> HTTP/1.1 302 Moved Temporarily
> ...
> Location: http://test1.domain.pwd/
C. If we request the webserver direct:
curl -I -k https://test1.domain.hst/
> HTTP/1.1 302 Moved Temporarily
> ...
> Location: http://test1.domain.hst/
I think, B and C do it right, but A is mystic ... why rewriting the
location???
It is the same as B, the only difference ist the port number!
Have you any ideas?
Here is my simplified configuration
### pound.cfg (with the relevant parts)
###########################################################
# ( .pwd ( default ) -> 192.168.0.1:80/443 <--> 192.168.0.99:80/443
# ( .com ( Provider A ) -> 192.168.0.1:80/443 <--> 192.168.0.99:8081/8444
# ( .de ( Provider B ) -> 192.168.0.1:80/443 <--> 192.168.0.99:8082/8445
#
# ( The special ports for HTTP and HTTPS 8081-8082 and 8444-8445 are
routerkonfiguration specific! )
##########################################################################################
### ( default http ) ###
ListenHTTP
Address 192.168.100.99
Port 80
RewriteLocation 0
Service
HeadRequire "Host: test(1|2)\.domain\.(...?)"
BackEnd
Address 192.168.100.111
Port 80
End
End
# ...
End
### ( Provider A http ) ###
ListenHTTP
Address 192.168.0.99
Port 8081
RewriteLocation 0
Service
HeadRequire "Host: test(1|2)\.domain\.(...?)"
BackEnd
Address 192.168.0.100
Port 80
End
End
# ...
End
# ...
### ( default https ) ###
ListenHTTPS
Address 192.168.0.99
Port 443
Cert "/etc/pki/tls/certs/pound.pem"
Service
HeadRequire "Host: test2\.domain\.(...?)"
BackEnd
Address 192.168.0.100
Port 443
HTTPS
End
End
Service
HeadRequire "Host: test1\.domain\.(...?)"
BackEnd
Address 192.168.0.100
Port 80
End
End
# ...
End
### ( Provider A https ) ###
ListenHTTPS
Address 192.168.0.99
Port 8444
Cert "/etc/pki/tls/certs/pound.pem"
Service
HeadRequire "Host: test2\.domain\.(...?)"
BackEnd
Address 192.168.0.100
Port 443
HTTPS
End
End
Service
HeadRequire "Host: test1\.domain\.(...?)"
BackEnd
Address 192.168.0.100
Port 80
End
End
# ...
End
# ...