浏览 1.7k
原文作者:Liam Crilly of F5
原文链接:NGINX QUIC 和 HTTP/3 开发路线图 - NGINX
转载来源:NGINX官方网站
Internet 从未停止过前进的脚步。早在 2015 年 HTTP/2 标准化之前,QUIC 的相关工作就已经开始了,而在之后 QUIC 成为了 HTTP/3。在向 IETF 提交首个 QUIC 规范草案五年之后的现在,我们有了 RFC 9000“QUIC:基于 UDP 的多路复用安全传输”。
去年,我们推出了QUIC 和 HTTP/3 的技术预览版,之后还开展了许多工作。以下是 NGINX 实现 QUIC 和 HTTP/3 的关键开发工作摘要:
我们当前的目标是,在 2021 年底将代码全部合并到 NGINX 主线分支,之后它将被后续版本的 NGINX 主线分支及 NGINX Plus 所包含。
在撰写本文时,OpenSSL 尚不支持 QUIC,而自带支持 QUIC 的 SSL/TLS 库的操作系统版本可能还需要好几个月的时间才能被交付。我们的 QUIC 实现目前支持 BoringSSL 和 OpenSSL 的 quictls 分支,不过它们必须使用 NGINX 进行编译。
[编者按 – 后面的 Dockerfile 已在 2021 年 12 月更新,以修改原始版本中的错误。]
FROM nginx:1.21.1 AS build
WORKDIR /src
RUN apt-get update && \
apt-get install -y git gcc make g++ cmake perl libunwind-dev golang && \
git clone https://boringssl.googlesource.com/boringssl && \
mkdir boringssl/build && \
cd boringssl/build && \
cmake .. && \
make
RUN apt-get install -y mercurial libperl-dev libpcre3-dev zlib1g-dev libxslt1-dev libgd-ocaml-dev libgeoip-dev && \
hg clone https://hg.nginx.org/nginx-quic && \
hg clone http://hg.nginx.org/njs -r "0.6.2" && \
cd nginx-quic && \
hg update quic && \
auto/configure `nginx -V 2>&1 | sed "s/ \-\-/ \\\ \n\t--/g" | grep "\-\-" | grep -ve opt= -e param= -e build=` \
--build=nginx-quic --with-debug \
--with-http_v3_module --with-http_quic_module --with-stream_quic_module \
--with-cc-opt="-I/src/boringssl/include" --with-ld-opt="-L/src/boringssl/build/ssl -L/src/boringssl/build/crypto" && \
make
FROM nginx:1.21.1
COPY nginx.conf /etc/nginx/nginx.conf
COPY www.example.com.crt /etc/ssl/www.example.com.crt
COPY www.example.com.key /etc/ssl/www.example.com.key
COPY index.html /etc/nginx/html/index.html
COPY --from=build /src/nginx-quic/objs/nginx /usr/sbin
RUN /usr/sbin/nginx -V > /dev/stderr
EXPOSE 8443
按点赞数排序
按时间排序