h2o default page

If you can read this, the h2o server is responding.

The administrator has not configured a site for this hostname yet, so h2o is falling back to the bundled default. Once a real virtual host with a matching hosts entry exists, this page disappears.


About h2o

h2o is an HTTP server that places HTTP/2 and TLS performance among its first concerns. It speaks both HTTP/1.1 and HTTP/2 out of the box, supports server push, and ships a built-in handler for static files alongside FastCGI, mruby and reverse-proxy back ends.

Because it is event-driven, it scales well with the kind of long-lived multiplexed connections that HTTP/2 encourages. The internal scheduler is tuned to deliver small responses quickly while large ones stream through with bounded memory.

Configuration shape

The main configuration is a YAML file. A minimal site definition looks roughly like:

listen: 443
listen: 80
hosts:
  example.com:
    paths:
      /:
        file.dir: /var/www/example

Multiple hosts can live in the same file; each gets its own routing block and its own certificates. The block-based syntax encourages a clean separation between transport-level settings (where to listen, which certificate) and routing rules (which path goes to which handler).

Common next steps

Logging

Access and error streams can be sent to files or piped to external aggregators. Enabling structured logs makes parsing by downstream tools much easier than the default Apache-style combined format. The mruby integration also exposes hooks that let you tag requests with custom labels before they hit the access log.


srv-h2o-3 · default virtual host