Re: [RFC] accel mode config changes

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Wed, 27 Jul 2011 11:09:25 +1200

 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
Received on Tue Jul 26 2011 - 23:09:28 MDT

This archive was generated by hypermail 2.2.0 : Wed Jul 27 2011 - 12:00:09 MDT