Httpx takes over the front-line position of binding and listening on the public address and port of your virtual Web hosting server. In this role, it scans incoming requests looking for the HTTP/1.1 Host: request header entity. Once the Host: value is found for a given request, it is routed to a UNIX domain socket in the local file system located through a cached database lookup. Over this UNIX domain socket, an inter-process descriptor pass occurs to a Web server modified slightly to receive TCP socket descriptors passed over a UNIX domain socket instead of binding, listening for, and accepting TCP sockets. This allows vhosts to share an IP address while having private, host-specific, potentially unique httpd contexts.
|Tags||Internet Web HTTP Servers|
|Operating Systems||POSIX Linux|
Release Notes: "Host:" values are now truncated to remove any trailing dots or whitespace before being used in the HostMap lookup. In previous versions, "Host:" values like "www.foo.com." would result in a lookup of "www.foo.com.", requiring rows for both "www.foo.com" and "www.foo.com.". With this version, the value "www.foo.com." will result in a lookup of "www.foo.com", simplifying the HostMap configuration.
Release Notes: Fixes were made to the pre-Linux-2.6.28 broken SO_RCVLOWAT/MSG_PEEK workaround, which restores enforcement of idle timeouts and adds correct handling of connections that closed after httpx had already recv()'d a partial request. The descriptor passing sendmsg() call was fixed to disable potential delivery of SIGPIPE on errors.
Release Notes: A corner-case UNIX domain socket leak has been plugged.
Release Notes: Parallel refreshes of the hostmap cache are now prevented as originally intended, and a small memory leak at refresh has been eliminated.
Release Notes: In-process caching of the HostMap table contents has been added. This allows httpx to continue handling requests even if MySQL is unavailable for whatever reason. The cache is populated with the HostMap table contents immediately upon startup, then periodically refreshed when servicing requests.