Public Repository

Last pushed: a year ago
Short Description
QUIC Reverse proxy
Full Description

QUIC, a multiplexed stream transport over UDP

QUIC is an experimental protocol aimed at reducing web latency over that of TCP.
On the surface, QUIC is very similar to TCP+TLS+SPDY implemented on UDP. Because
TCP is implement in operating system kernels, and middlebox firmware, making
significant changes to TCP is next to impossible. However, since QUIC is built
on top of UDP, it suffers from no such limitations.

Key features of QUIC over existing TCP+TLS+SPDY include

  • Dramatically reduced connection establishment time
  • Improved congestion control
  • Multiplexing without head of line blocking
  • Forward error correction
  • Connection migration

See Chromium QUIC Page for detailed information.
See goquic Github Page for this reverse proxy server.

What's in this image?

This image is a reverse proxy server between QUIC and HTTP. It makes a general http server to QUIC server.

How to use

$ docker run \
   -d --net="host" \
   -v /PATH/TO/CERT:/opt/configs/cert \
   -v /PATH/TO/CERT_PRIVATE_KEY:/opt/configs/key \
   --ulimit nofile=32768 devsisters/quic-reverse-proxy:releasemode \
      -cert=/opt/configs/cert \
      -key=/opt/configs/key \
      -addr=BIND_IP \
      -port=443 \
      -n=4 \
      -loglevel=2 \
      -- http://{BACKEND_HOST:PORT}

Make sure that host port and container port should be equal.

Docker Pull Command

Comments (3)
a year ago

To anyone struggling with the Certs, try..

'openssl req -newkey rsa:4096 -nodes -sha512 -x509 -days 3650 -nodes -out cert.pem -keyout key.pem'

a year ago

Pretty sure the ssl certs are needed because crypto is part of the quic protocol:

Probably at least needed for ALPN to see if the client even speaks quic.

2 years ago

Can this be started without SSL certs? Im only interested in HTTP

Having created SSL certs its still complaining that the arent present.