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*

Reply via email to