> Am 02.02.2018 um 16:43 schrieb Yann Ylavic <ylavic....@gmail.com>:
> On Fri, Feb 2, 2018 at 4:28 PM, Stefan Eissing
> <stefan.eiss...@greenbytes.de> wrote:
>>> Am 02.02.2018 um 15:50 schrieb Yann Ylavic <ylavic....@gmail.com>:
>>>> Is it a hash across the config record of a server what would give
>>>> the desired behaviour?
>>> Yes, a hash using the minimal (IP[:port])* + ServerName, which is what
>>> matters to select a vhost in the first place (maybe it's missing
>>> ServerAlias), and what's done in this patch.
>>> Should two vhosts have the same hash, only the first one will ever
>>> handle requests.
>> So, for my understanding, what we are looking for it:
>> const char * ap_get_server_id(server_rec *s);
> Yes, mainly, which:
> return r->server_id;
>> that gives a string usable as a file name which does not change
>> unless the given server has "changed"? And the distinction of
>> what exactly is the "change", we probably can argue millenia
> Precisely, the admin knows..
> That doesn't prevent us from having a beer and talk about when he/she
> doesn't care and simply wants it to work ;)
I need to ponder this with a nice bottle of wine this evening...maybe.
My gut feeling is that, by pure numbers, most users want Apache to
serve domains one next to the other. They do not want overlaps, they
want http: and https: for the same domain to show the same resource (or
have the former redirect to the later).
I think they would like Apache to refuse a configuration where this
is not somehow true (e.g. ServerAlias/Name overlapping, a Location
slipped into one vhost of a domain, but not the other). The would
like Apache to answer 404 for any domain that is not configured.
Then we have fewer, but possibly larger and "more interesting" setups
where people use the config possibilities up to the max, know which
virtual host a fallback for unknown domains is, etc. etc. etc.
How far would come in satisfying all by having a core directive
DomainScope global | ports | sockets | free
free: as is now
sockets: domain settings are unique for each address+port (can be same for
e.g. ServerName/-Alias props can differ on each listening socket
ports: domain settings are unique for each port number (irregardless of
e.g. ServerName/-Alias props can differ on other ports
global: domain settings are unique for all ports and addresses,
e.g. ServerName/-Alias props are the same everywhere in this server