Other headers disappear after adding Set-Cookie header
Maxim Dounin
mdounin at mdounin.ru
Mon Aug 16 18:29:31 MSD 2010
Hello!
On Mon, Aug 16, 2010 at 09:22:07AM -0400, Unimatrix02 wrote:
[...]
>
> # Serve generated HTML files directly, but expire immediately
> location ~ /static/generated/.*\.html$
> {
> # Set cookie with affiliate ID, if present
> if ($aff_id != "")
> {
> add_header Set-Cookie "iboodaffiliates=$aff_id; path=/;
> domain=.ibood.com;";
> }
>
> add_header X-DebugInfo aff_id=$aff_id;
> add_header X-Info "Served by nginx 1:$uri";
This code defines two locations. One of them has add_header array
set to "X-DebugInfo, X-Info" and another one (implicitly defined
by "if") has it redefined to "Set-Cookie".
You have to duplicate other add_header directives within implicit
location defined by "if", i.e.
location ... {
add_header X-DebugInfo ...
add_header X-Info ...
if (...) {
add_header Set-Cookie ...
add_header X-DebugInfo ...
add_header X-Info ...
}
}
Further reading:
http://wiki.nginx.org/IfIsEvil
[...]
> [b]debug log[/b]
> 2010/08/16 15:12:22 [notice] 24579#0: *1
> "(affiliate,|affiliate=)([a-z0-9]*)" matches
> "/nl/nl/index/affiliate,Affilinet/", client: 192.168.32.50, server: _,
> request: "GET /nl/nl/index/affiliate,Affilinet/ HTTP/1.1", host:
> "r.dev.ibood.com"
This isn't a debug log as you haven't recompiled nginx with
--with-debug option. Doesn't matter though, problem is clear from
the config itself.
Maxim Dounin
More information about the nginx
mailing list