On Tue, 26 Jul 2011 22:31:44 +0200, Henrik Nordström wrote:
mån 2011-07-25 klockan 13:57 +1200 skrev Amos Jeffries:

It seems to me that since we are advertising HTTP/1.1 the default
behaviour for accel mode should be vhost.

Agreed, defaults should match HTTP requirements, and Host awareness is a rather strong HTTP/1.1 requirement. The default in HTTP/1.1 is to read
the Host header (unless URL is absolute) but a server MAY optionally
ignore the Host header if desired.


Corollary: do we want to go so far as to make it "http_port _ vhost"?

Not sure what you mean. vhost is an accelerator directive. Does not make
sense in non-accelerator configurations.

I mean making the "mode" flag 'vhost' instead of 'accel'. Which means we can drop accel and defaultsite= in one change to a parameterized vhost.

Adding no-vhost increases the brokenness of that idea. I'm dropping it.


I think no to going this far since apache ip-based virtual hosting
requires the "http_port _accel vport" (no vhost, no defaultsite). Which is effectively; disobey Host header and use the listening raw-IP:port as relayed header value for IP based virtual hosting in Apache. Noting that this behaviour is an HTTP violation and may as easily break the Apache
VirtualHost as help.

?

Not sure what feature in Apache you talk about here. Why would Apache
need Squid to turn GET /; Host: www.example.com into GET / ; Host:
172.16.32.54:80

Apache's IP-base virtual hosting. Where you set the public raw-IP:port in the VirtualHost container. Instead of a domain name. Its a bit nasty when working through a proxy, but still popular in tutorials.


2) merging vhost and defaultsite=FQDN options

Assuming (1) is done we can drop the defautsite= directive and some
confusion around what 'default' and 'site' mean by making vhost=FQDN
equivalent to 'vhost defaultsite=FQDN'.

defaultsite applies primarily to HTTP/1.0 requests without a Host
header. Without it such requests is not supported. I think it's name is
very appropriate as it is.

Thoughts?

Make vhost default in accel mode, and deprecate the vhost directive as
such-

Add a novhost directive to disable vhost if not wanted for some strange
reason.

But please DO NOT do magic detection guessing if vhost default is
expected based on what other options are present. If it is made the
default (which is a good thing) then explicit action should be needed to
turn it off, just as explicit action have been needed to turn it on.

As a side note there is ongoing http-wg discussions if the HTTP/1.1
specs should add a recommendation that servers should reject requests
with unknown Host components.

Haven't seen that one. Thanks.


Okay. Enacting (1). Leaving (2)

Amos

Reply via email to