Skip to content

Instantly share code, notes, and snippets.

Last active April 20, 2018 02:16
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save tsahara/e6831656d7e2ff99ce7e to your computer and use it in GitHub Desktop.
Dockerfile for nghttp2 with ALPN support
FROM ubuntu
RUN apt-get update
RUN apt-get install -y autoconf automake autotools-dev libtool pkg-config zlib1g-dev libcunit1-dev libxml2-dev libjansson-dev libjemalloc-dev libev-dev
RUN apt-get install -y make gcc git g++
RUN apt-get install -y curl
# OpenSSL 1.0.2a
RUN curl | tar xzf -
WORKDIR /root/openssl-1.0.2a
RUN ./config shared zlib-dynamic
RUN make
RUN make install_sw
RUN echo '/usr/local/ssl/lib' >/etc/
RUN ldconfig
RUN apt-get remove -y openssl
# nghttp2
RUN git clone
WORKDIR /root/nghttp2
RUN autoreconf -i
RUN automake
RUN autoconf
RUN env OPENSSL_CFLAGS="-I/usr/local/ssl/include" OPENSSL_LIBS="-L/usr/local/ssl/lib -lssl -lcrypto" ./configure
RUN make
RUN /usr/local/ssl/bin/openssl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits:2048 -out server.key
RUN /usr/local/ssl/bin/openssl req -new -x509 -key server.key -out server.crt -subj /CN="nghttp2"
CMD ["./src/nghttpd", "-v", "443", "server.key", "server.crt"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment