Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
99 lines (81 sloc) 4.63 KB


high performance TLS proxy

Manual section:8


hitch [OPTIONS] [PEM]


Hitch is a network proxy that terminates TLS/SSL connections and forwards the unencrypted traffic to some backend. It's designed to handle 10s of thousands of connections efficiently on multicore machines.

Hitch has very few features -- it's designed to be paired with an intelligent backend like Varnish Cache. It maintains a strict 1:1 connection pattern with this backend handler so that the backend can dictate throttling behavior, maximum connection behavior, availability of service, etc.

The only required argument is a path to a PEM file that contains the certificate (or a chain of certificates) and private key. It should also contain DH parameter if you wish to use Diffie-Hellman cipher suites.

Command line arguments

--config=FILE Load configuration from specified file. See hitch.conf(5) for details.
--tls All TLS versions, no SSLv3 (deprecated). See config file setting tls-protos.
--ssl enable SSLv3 (deprecated). See config file setting tls-protos.
 Sets allowed ciphers (Default: "")
 Sets OpenSSL engine (Default: "")
 Prefer server list order
--client Enable client proxy mode
-b --backend=[HOST]:PORT Backend [connect] (default is "[]:8000") The -b argument can also take a UNIX domain socket path E.g. --backend="/path/to/sock"
-f --frontend=[HOST]:PORT[+CERT] Frontend [bind] (default is "[*]:8443") (Note: brackets are mandatory in endpoint specifiers.)
--workers=NUM Number of worker processes (Default: 1)
--backlog=NUM Set listen backlog size (Default: 100)
 TCP keepalive on client socket (Default: 3600)
 Periodic backend IP lookup, 0 to disable (Default: 0)
--chroot=DIR Sets chroot directory (Default: "")
--user=USER Set uid/gid after binding the socket (Default: "")
--group=GROUP Set gid after binding the socket (Default: "")
--quiet Be quiet; emit only error messages (deprecated in favor of log-level)
 Log level. 0=silence, 1=err, 2=info/debug
--syslog Send log message to syslog in addition to stderr/stdout
 Syslog facility to use (Default: "daemon")
--daemon Fork into background and become a daemon; this also sets the --quiet option (Default: off)
--write-ip Write 1 octet with the IP family followed by the IP address in 4 (IPv4) or 16 (IPv6) octets little-endian to backend before the actual data (Default: off)
 Write HaProxy's PROXY v1 (IPv4 or IPv6) protocol line before actual data (Default: off)
 Write HaProxy's PROXY v2 binary (IPv4 or IPv6) protocol line before actual data (Default: off)
--write-proxy Equivalent to --write-proxy-v2. For PROXY version 1 use --write-proxy-v1 explicitly
--proxy-proxy Proxy HaProxy's PROXY (IPv4 or IPv6) protocol line before actual data (PROXY v1 only) (Default: off)
 Sets the protocols for ALPN/NPN negotiation, given by a comma separated list. If this is not set explicitly, ALPN/NPN will not be used. Requires OpenSSL 1.0.1 for NPN and OpenSSL 1.0.2 for ALPN.
 Abort handshake when client submits an unrecognized SNI server name (Default: off)
--ocsp-dir=DIR Set OCSP staple cache directory This enables automated retrieval and stapling of OCSP responses (Default: "")
--test Test configuration and exit
--pidfile=FILE PID file
--version Print program version and exit
--help This help message


Hitch was originally called stud and was written by Jamie Turner at

You can’t perform that action at this time.