Bug 40987 - ProxyVia Block doesn't remove Via: header for reverse proxy
Summary: ProxyVia Block doesn't remove Via: header for reverse proxy
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: mod_proxy (show other bugs)
Version: 2.2.3
Hardware: Other Linux
: P2 enhancement (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
Depends on:
Reported: 2006-11-16 05:48 UTC by Florian Dufour
Modified: 2006-11-17 03:18 UTC (History)
0 users


Note You need to log in before you can comment on or make changes to this bug.
Description Florian Dufour 2006-11-16 05:48:09 UTC

I'm using Apache 2.2.3 as a reverse proxy :

  ProxyPass /another/ http://anothersite/
  ProxyPassReverse /another/ http://anothersite/

By default, according to the documentation, ProxyVia is set to Off.

Effectively, the Via: header is left untransformed for the client :

  Via: 1.1 anothersite

If I set ProxyVia to On, it's ok again :

  Via: 1.1 anothersite, 1.1 mysite

However, if I set ProxyVia to Block, the Via: header is left untransformed
whereas it should be deleted :

  Via: 1.1 anothersite
Comment 1 Ruediger Pluem 2006-11-16 12:07:06 UTC
I think this works as documented:
"If set to Block, every proxy request will have all its Via: header lines
removed. No new Via: header will be generated."

Mind that is says that it removes Via from every *request* not from the *response*.

Thus I will mark it as invalid. Feel free to reopen the bug if you think
differently or if you think that ProxyVia's behaviour should be changed. Then it
is an enhancement of course :-).

Thank you for using httpd.
Comment 2 Florian Dufour 2006-11-17 03:18:28 UTC
OK, I think I didn't understand the documentation correctly. Thanks for your
answer !

IMHO it could be a real enhancement to also block Via: header in the response.
It's weird to delete the request's one whithout modifying the response's one ;
what would it mean ? If Apache is part of a proxy chain, it would mean that it
hides the proxies before itself, but not the ones after. Maybe it lacks of a
directive hiding the proxies before AND after.

If you don't mean, I reopen the bug, in order to discuss about this
*enhancement* ;-)