Cool. On 18 Feb 2010, at 23:36, Jan Lehnardt wrote:
> > On 18 Feb 2010, at 15:30, Noah Slater wrote: > >> What happens when the Host header is absent? Does it default to the first >> one in the file, like Apache httpd? > > The default case (when there is no Host header (HTTP 1.0) or the host header > doesn't match any vhost) is to act as if the bind-address + port were called, > just like before. > > Cheers > Jan > -- > > >> >> On 18 Feb 2010, at 23:23, Jan Lehnardt wrote: >> >>> Hi dev@, >>> >>> I added virtual host handling to CouchDB. I have a Github branch for you to >>> check out: >>> >>> http://github.com/janl/couchdb/commits/vhosts >>> >>> Alternatively, here's a full diff including etap tests: >>> >>> http://www.friendpaste.com/6B5dQU1fb27boOvxhm2nhf >>> >>> From local.ini: >>> >>> ; To enable Virtual Hosts in CouchDB, add a vhost = path directive. All >>> requests to >>> ; the Virual Host will be redirected to the path. In the example below all >>> requests >>> ; to http://example.com/ are redirected to /database. >>> ; If you run CouchDB on a specific port, include the port number in the >>> vhost: >>> ; example.com:5984 = /database >>> >>> [vhosts] >>> ;example.com = /database/ >>> >>> In combination with Benoit's rewriter, this allows you to create virtual >>> hosts with >>> really pretty URLs. >>> >>> The CouchDB default behaviour isn't changed. CouchDB simply inspects a >>> request's `Host:` header and maps it against any defined virtual hosts. If a >>> match is found, CouchDB will make an internal redirect much like the >>> rewriter. >>> >>> I did a stupid A/B test with Apache Bench and couldn't see any performance >>> degradation. Feel free to prove me wrong :) >>> >>> I'd like to commit this to trunk and also backport to 0.11. What do you >>> think? >>> >>> Thanks for you feedback. >>> >>> Cheers >>> Jan >>> -- >>> >> >
