Last active
September 22, 2024 05:55
-
-
Save nginx-gists/141d325deca301706c2394a06b2eb364 to your computer and use it in GitHub Desktop.
Our Roadmap for QUIC and HTTP3 Support in NGINX
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Builds NGINX from the QUIC+HTTP/3 development branch | |
# - Based on the official NGINX docker image, including all modules built by default | |
# - OpenSSL replaced with LibreSSL to support QUIC's TLS requirements (statically linked) | |
# | |
# docker build --no-cache -t nginx:quic . | |
# docker run -d -p 443:443 -p 443:443/udp nginx:quic | |
# | |
# Note that a suitable configuration file and TLS certificates are required for testing! | |
# See <https://quic.nginx.org/readme.html> for more info | |
FROM nginx AS build | |
WORKDIR /src | |
RUN apt-get update && apt-get install -y git gcc make autoconf libtool perl | |
RUN git clone -b v3.6.1 https://github.com/libressl-portable/portable.git libressl && \ | |
cd libressl && \ | |
./autogen.sh && \ | |
./configure && \ | |
make check && \ | |
make install | |
RUN apt-get install -y mercurial libperl-dev libpcre3-dev zlib1g-dev libxslt1-dev libgd-ocaml-dev libgeoip-dev | |
RUN hg clone -b quic https://hg.nginx.org/nginx-quic && \ | |
cd nginx-quic && \ | |
auto/configure `nginx -V 2>&1 | sed "s/ \-\-/ \\\ \n\t--/g" | grep "\-\-" | grep -ve opt= -e param= -e build=` \ | |
--with-http_v3_module --with-stream_quic_module \ | |
--with-debug --build=nginx-quic \ | |
--with-cc-opt="-I/src/libressl/build/include" --with-ld-opt="-L/src/libressl/build/lib" --with-ld-opt="-static" && \ | |
make | |
FROM nginx | |
COPY --from=build /src/nginx-quic/objs/nginx /usr/sbin | |
RUN /usr/sbin/nginx | |
EXPOSE 80 443 443/udp |
Hey @Karthikdasari0423 -- you are not very likely to get real help figuring out your issue in here. I would suggest joining the NGINX Community Slack and asking there -> https://community.nginx.org/joinslack
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi @alessfg @ManfredHu @nginx-gists
anyidea about below
Is there any config where i can configure nginx to supoort file upload using http3
I tried below config but still getting error with curl
am i missing anything here
location / {
required for browsers to direct them into quic port
add_header Alt-Svc 'h3=":$server_port"; ma=86400';
#add_header Alt-Svc 'h3=":8443"; ma=86400';
signal whether we are using QUIC+HTTP/3
add_header X-protocol $server_protocol always;
<title>404 Not Found</title>}
location "/root/([0-9a-zA-Z-.]*)$"{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Host $host;
dav_methods PUT DELETE MKCOL COPY MOVE;
client_body_temp_path /tmp;
alias /root/$1;
create_full_put_path on;
dav_access group:rw all:r;
client_body_in_file_only on;
client_body_buffer_size 100M;
client_max_body_size 100M;
proxy_pass_request_headers on;
proxy_set_body $request_body_file;
proxy_pass http://127.0.0.1/root/;
proxy_redirect off;
}
error_page 405 =200 $uri;
}
}
Curl output
We are completely uploaded and fine
< HTTP/3 404
< server: nginx/1.23.4
< date: Tue, 20 Jun 2023 19:28:53 GMT
< content-type: text/html
< content-length: 153
< x-protocol: HTTP/3.0
<
404 Not Found
nginx/1.23.4 Connection #0 to host 172.16.3.1 left intact root@ubuntu:/var/www/html#
Could someone please help me with the nginx config to upload a file using curl.