httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Roy T. Fielding" <field...@kiwi.ICS.UCI.EDU>
Subject Re: [2.0] proposed vhost config rewrite
Date Mon, 16 Jun 1997 05:05:56 GMT
 From my perspective (not being a user of vhosts, but having to deal
with the problems they cause in the core), the basic problem with vhosts
is that the core memory structure and config files are not designed to
handle them.  The physical server (IP and port of the request connection)
should always take precedence over any other config settings.  The server
configuration should be defined by name indirection, using names that do
not need to be in the DNS.  Thus, I would have two structures:


 server  --+-- 128.195.21.109 --+--  80  -+- Host=main --> roy_main
           |                    |         |
           |                    |         +- Host=test --> roy_test
           |                    |         |
           |                    |         `- Host=www  --> roy_main
           |                    |
           |                    `-- 8080 --> roy_test
           |
           +-- 128.195.21.108 --+-- 8000 --> fred
           |                    |
           |                    `-- 8001 --> fred
           |                    |
           |                    `-- 8002 --> barney
           |                    |
           |                    `-- 8003 --> barney
           |                    |
           |                    `--  80  --> wilma
           |
           `-- 255.255.255.255 ----  80  --> roy_main


 sconfig --+--- wilma     --> { per-server configuration ... }
           |
           +--- roy_main  --> { per-server configuration ... }
           |
           +--- roy_test  --> { per-server configuration ... }
           |
           +--- fred      --> { per-server configuration ... }
           |
           +--- barney    --> { per-server configuration ... }
           |
           `--- _default_ --> { per-server configuration ... }


In other words, I would separate the stuff used to select a server
from the stuff used to define the server once it is selected.
Then the configuration of how to select a server (i.e., where to
listen, what protocol to expect, what cnames to allow, what to call
itself on a redirect, etc.) can be set separately from the options
and access control directives for a particular server config.

Config directives surrounded by

   <Configuration name1 name2 ...>
   </Configuration>

would then apply only to the named sconfigs, and all others would apply
to all sconfigs (_default_ would thus contain only non-specific configs).
We could even load them as separate files, though that would be more
overhead on child start-up.

I think the above would reduce confusion and make it much easier to
separate the requirements of a GUI config manager.

.....Roy

Mime
View raw message