I'm getting lost.

What would VirtualServer tag mean exactly?

Thanks in advance and apologies for my slowness :)

2018-02-09 13:42 GMT+01:00 Stefan Eissing <stefan.eiss...@greenbytes.de>:
>
>
>> Am 09.02.2018 um 13:25 schrieb Yann Ylavic <ylavic....@gmail.com>:
>>
>> On Fri, Feb 9, 2018 at 12:04 PM, Stefan Eissing
>> <stefan.eiss...@greenbytes.de> wrote:
>>>
>>>
>>>> Am 06.02.2018 um 08:13 schrieb William A Rowe Jr <wr...@rowe-clan.net>:
>>>>
>>>> Forgive the top-post, Gmail app sucks.
>>>>
>>>> Thanks for taking the time for tl;dr - it sums up the current situation 
>>>> really well.
>>>>
>>>> I pointed out some months ago that the matching foo in vhosts is weak, 
>>>> since we have a 1:1 ip:port relationship. We determined that can change in 
>>>> the next iteration to compare a list we already keep. It seems also 
>>>> evident that a vhost could have more than one ServerName as long as we 
>>>> track the canonical name that the request presented.
>>>>
>>>> Considering your cases, I'm wondering if the simplest thing is to promote 
>>>> <VirtualHost > to a preprocessed, but fully nestable context on trunk?
>>>
>>> That is one possible way to address this. However, since VirtualHost 
>>> requires at least one address, this would be confusing:
>>>
>>> <VirtualHost *:NNN>
>>>   ServerName example.org
>>>   <VirtualHost *:80>
>>>   </VirtualHost>
>>>   <VirtualHost *:443>
>>>   </VirtualHost>
>>> </VirtualHost>
>>>
>>> What would NNN be or what would it mean? Would it also be inherited by the 
>>> nested vhosts? This is confusing.
>>
>> The <VirualHost> directive could be relaxed to also take no arg.
>> Since at least one is required by now, it wouldn't break anything.
>>
>>>
>>> From usability point of view, it is superior to introduce a new "section" 
>>> that can keep common locations and other settings for sharing. The 
>>> implementation is more painful, though. Unsurprisingly, I think of 
>>> something like this:
>>>
>>> <ManagedDomain example.org>
>>>   <VirtualHost *:80>
>>>   </VirtualHost>
>>>   <VirtualHost *:443>
>>>   </VirtualHost>
>>> </ManagedDomain>
>>>
>>> Implementation-wise:
>>> * an MD is basically a server_rec plus additional props
>>> * server_rec gets 2 new members "server_rec *child, *sibling" to keep 
>>> contained vhosts
>>> * server_rec->next contains only leaf server_recs -> base_server->next 
>>> contains all VirtualHosts as before
>>> * leaf server_rec->child is NULL
>>> * no nesting of MDs foreseen, disabled, no nesting of VirtualHost
>>>
>>> - VirtualHosts server_rec* can be walked as before and all vhost functions 
>>> see no change.
>>> - Modules should see no change either
>>> - The MD and VirtualHost hierarchy can be traversed by new code starting 
>>> from base server.
>>>
>>> What do you think?
>>
>> I like these semantics.
>>
>> But I'd prefer <VirtualHost> as root, <ManagedDomain ...> is too
>> "domain" centric IMHO (all the inner vhosts are necessarily bound to a
>> domain).
>> With <VirtualHost "some.domain"> or <VirtualHost> + ServerName +
>> WhatEverMakesSenseForAllInners we could achieve the same and more
>> (including a common <ManagedDomain> why not), while individual inner
>> vhosts can have their own domain (if grouping is based on something
>> else).
>> So I find root <VirtualHost> more generic as a container, we could
>> want another name too (Service, Container, ...).
>
> Now, there is a nice naming debate in the makings... ;-)
>
> I appreciate that you like the concept. I agree that groupings that do
> not have a common DNS make sense too and should be possible (first thing
> comes to mind is a grouping by customers).
>
> Since we are in "VirtualHost" land anyway, I can agree to
>
> <VirtualServer "name">
>
> (I like admin supplied unique names - they are useful.:)
>
> -Stefan
>
>



-- 
Daniel Ferradal
IT Specialist

email         dferradal at gmail.com
linkedin     es.linkedin.com/in/danielferradal

Reply via email to