You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modproxy-dev@apache.org by Morten Bjørhus <mo...@ttyl.com> on 2001/11/30 10:38:16 UTC

Redirects, Set-Cookie: headers, and HTTP/1.1 mod_proxy

I have patched up our apache 1.3.20 server with the current
source/patch at
http://cvs.apache.org/viewcvs.cgi/httpd-proxy/module-1.0/  with the
effect that the it now returns HTTP/1.1 responses instead of HTTP/1.0.
This server is used as a reverse proxy server that fetches content
from two different real servers using ProxyPass and RewriteRule [P]
directives.

However, after applying the patch the reverse proxy  seems to eat some
Set-Cookie: headers set by my real servers in server redirect
responses.

Here is an example: I have the reverse proxy listening at
xxx.yyy.zzz.www and the real server is listening on 127.0.0.1, both
are running on the same machine.

If I do a request directly to the real server, I get

-----------------start-------------------
bash-2.04$ telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
GET /agent/moblogin?USERNAME=<user>&PASSWORD=<passwd>&LOCALE=<locale>
HTTP/1.1
Host: myhost.mydomain.com

HTTP/1.1 302 Moved Temporarily
Server: MDNServer
Connection: close
Set-Cookie: moblocale=en_US;path=/
Location: /agent/mobmain?mobmain=1
Content-Type: text/html
Set-Cookie: mobsess=PKG2I2QAAAACDFD0WURQAAA;path=/

<HEAD><TITLE>302 Moved Temporarily</TITLE></HEAD>
<H1>302 Moved Temporarily</H1><BODY>
</BODY>

Connection closed by foreign host.
-----------------stop-------------------

However, when I do the same request to the reverse proxy, the first
Set-Cookie: header disappears:


-----------------start-------------------
bash-2.04$ telnet xxx.yyy.zzz.www 80
Trying xxx.yyy.zzz.www...
Connected to xxx.yyy.zzz.www.
Escape character is '^]'.
GET /agent/moblogin?USERNAME=<user>&PASSWORD=<passwd>&LOCALE=<locale>
HTTP/1.1
Host: myhost.mydomain.com

HTTP/1.1 302 Moved Temporarily
Date: Fri, 30 Nov 2001 00:00:58 GMT
Server: Apache/1.3.20 (Unix) mod_ssl/2.8.4 OpenSSL/0.9.6a
Content-Type: text/html
Location: /agent/mobmain?mobmain=1
Set-Cookie: mobsess=PKH1HEYAAAACFFD0WURQAAA;path=/
X-Cache: MISS from myhost.mydomain.com
Transfer-Encoding: chunked

61
<HEAD><TITLE>302 Moved Temporarily</TITLE></HEAD>
<H1>302 Moved Temporarily</H1><BODY>
</BODY>


0

Connection closed by foreign host.

-----------------stop-------------------

Why doesn't the proxy let the "Set-Cookie: moblocale=en_US;path=/"
header through? It just disappears!

What happens here?

M.