SOLVED: *RewriteLocation* 0|1|2If 1 force *Pound* to change the Location: and Content-location: headers in responses. If they point to the back-end itself or to the listener (but with the wrong protocol) the response will be changed to show the virtual host in the request. Default: 1 (active). If the value is set to 2 only the back-end address is compared; this is useful for redirecting a request to an HTTPS listener on the same server as the HTTP listener.
On Tue, Jul 8, 2014 at 4:15 PM, Dave Atkins <[email protected]> wrote: > Hello pound group, > > I have run into a perplexing problem where I am not sure if the issue is > pound or the third party module. Please bear with me as I describe. I > believe I am failing to pass something in the headers but not sure... > > I have pound + varnish + apache to serve multiple Drupal sites. For one of > those sites (www.ceeforum.org), I am using pound to force SSL. For other > sites (www.cee1.org), it just passes through. > > pound :80/:443 > varnish :8081 > apache: 8080 > > The problem comes with the third party module "CiviCRM" CiviCRM, among > other things, sends out emails with click-tracking urls embeded like this: > > > https://www.ceeforum.org/sites/all/modules/civicrm/extern/url.php?u=2810&qid=50742 > > upon hitting the url.php script, the actual destination url is looked up > and user is redirected via a 302 location: header. > > The problem is that when the destination url is a hostname on the same > server, the hostname is replaced by the local site url. The correct > destination url is "www.cee1.org/ar" but instead it sends the user to " > www.ceeforum.org/ar" > > To isolate the problem I have hit each component directly (details below) > apache and varnish work. I also disabled the SSL in pound but got the same > problem. This leads me to conclude the problem is in pound, although I > would not be surprised if CiviCRM is expecting something nonstandard that I > am failing to pass... > > If anyone can help, please let me know! > > Thank you! > > > > Here is my pound.cfg: > > ###################################################################### > > ## listen, redirect and ... to: > > > ## redirect all requests on port 80 ("ListenHTTP") to the local webserver > (see "Service" below): > > ## varnish runs on 8081 > > ## apache runs on 8080 > > > ListenHTTP > > Address 69.164.210.61 > > Port 80 > > > ## allow PUT and DELETE also (by default only GET, POST and HEAD)?: > > #xHTTP 0 > > > Service > > HeadRequire "Host: www.ceeforum.org" > > Redirect "https://www.ceeforum.org" > > End > > > Service > > HeadRequire "Host: forum.cee1.org" > > Redirect "https://forum.cee1.org" > > End > > > Service > > BackEnd > > Address 127.0.0.1 > > Port 8081 > > End > > End > > End > > > ListenHTTPS > > HeadRemove "X-Forwarded-Proto" > > AddHeader "X-Forwarded-Proto: https" > > Address 69.164.210.61 > > Port 443 > > Cert "/home/www/cee.org/ssl/ceeforum-comodo.pem" > > Service > > BackEnd > > Address 127.0.0.1 > > Port 8081 > > End > > End > > End > ----- > > This works fine through apache: > > > http://www.ceeforum.org:8080/sites/all/modules/civicrm/extern/url.php?u=2810&qid=50742 > > and it works with varnish: > > datkins@WEBAPPS:~$ wget --server-response > http://www.ceeforum.org:8081/sites/all/modules/civicrm/extern/url.php?u=2810&qid=50739 > > [1] 4324 > > datkins@WEBAPPS:~$ --2014-07-08 16:03:03-- > http://www.ceeforum.org:8081/sites/all/modules/civicrm/extern/url.php?u=2810 > > Resolving www.ceeforum.org... 69.164.210.61 > > Connecting to www.ceeforum.org|69.164.210.61|:8081... connected. > > HTTP request sent, awaiting response... > > HTTP/1.1 302 Found > > Server: Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.5 with Suhosin-Patch > mod_ssl/2.2.11 OpenSSL/0.9.8g > > X-Powered-By: PHP/5.2.6-3ubuntu4.5 > > Location: http://www.cee1.org/ar/ > > Cache-Control: max-age=1 > > Expires: Tue, 08 Jul 2014 20:03:04 GMT > > Vary: Accept-Encoding > > Content-Type: text/html > > Content-Length: 0 > > Date: Tue, 08 Jul 2014 20:03:03 GMT > > X-Varnish: 261053747 > > Age: 0 > > Via: 1.1 varnish > > Connection: keep-alive > > Location: http://www.cee1.org/ar/ [following] > > --2014-07-08 16:03:03-- http://www.cee1.org/ar/ > > Resolving www.cee1.org... 69.164.210.61 > > Connecting to www.cee1.org|69.164.210.61|:80... connected. > > HTTP request sent, awaiting response... > > HTTP/1.1 200 OK > > Server: Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.5 with Suhosin-Patch > mod_ssl/2.2.11 OpenSSL/0.9.8g > > X-Powered-By: PHP/5.2.6-3ubuntu4.5 > > Set-Cookie: PHPSESSID=ef5538af8fdfbd1543c1602d755f7cba; path=/ > > Expires: Thu, 19 Nov 1981 08:52:00 GMT > > Cache-Control: no-store, no-cache, must-revalidate, post-check=0, > pre-check=0 > > Pragma: no-cache > > Set-Cookie: dgxdonate=ef5538af8fdfbd1543c1602d755f7cba; expires=Tue, > 15-Jul-2014 20:03:06 GMT; path=/; domain=www.cee1.org > > X-Pingback: http://www.cee1.org/ar/xmlrpc.php > > Link: <http://www.cee1.org/ar/>; rel=shortlink > > Vary: Accept-Encoding > > Content-Type: text/html; charset=UTF-8 > > Content-Length: 20809 > > Date: Tue, 08 Jul 2014 20:03:06 GMT > > X-Varnish: 261053748 > > Age: 0 > > Via: 1.1 varnish > > Connection: keep-alive > > Length: 20809 (20K) [text/html] > > Saving to: `index.html' > > > 100%[======================================>] 20,809 --.-K/s in 0s > > > > 2014-07-08 16:03:06 (331 MB/s) - `index.html' saved [20809/20809] > > > c > > > --- > *Dave Atkins* > > > > >
