Projects / httpx

httpx

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
Licenses GPLv2
Operating Systems POSIX Linux
Implementation C

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  09 Mar 2009 15:47
  • Rrelease-after

Changes: "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.

  • Rrelease-mid
  •  23 Feb 2009 11:19
  • Rrelease-after

Changes: 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.

  • Rrelease-mid
  •  13 Feb 2009 18:30
  • Rrelease-after

Changes: A corner-case UNIX domain socket leak has been plugged.

  • Rrelease-mid
  •  26 Nov 2008 19:36
  • Rrelease-after

Changes: Parallel refreshes of the hostmap cache are now prevented as originally intended, and a small memory leak at refresh has been eliminated.

  • Rrelease-mid
  •  27 Oct 2008 10:12
  • Rrelease-after

Changes: 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.

Rss Recent comments

Rcomment-before 25 Mar 2009 20:33 Rcomment-trans swivel Rcomment-after

This project kicks ass

D5c2ab9b02fc6f1edb0360ca156f47bd_thumb

Project Spotlight

TUTOS

Calendar, project management, addressbook, and bugtracking tools for teams.

322842a9698d869319f8daf6512d7943_thumb

Project Spotlight

FUDforum

A templatable forum with i18n support based on PHP and MySQL or PostgreSQL.