Nginx support for HTTP/3

Manuel manuel.baesler at gmail.com
Thu Jul 23 22:11:23 UTC 2020


Hi Harish,

I am just a stalker ;D

HTTP/3 is HTTP-over-QUIC.
Openssl does not have quic yet.
https://www.openssl.org/blog/blog/2020/02/17/QUIC-and-OpenSSL/

thats why https://hg.nginx.org/nginx-quic/file/tip/README

2. Installing

    You will need a BoringSSL [4] library that provides QUIC support

    $ hg clone -b quic https://hg.nginx.org/nginx-quic
    $ cd nginx-quic
    $ ./auto/configure --with-debug --with-http_v3_module       \
                       --with-cc-opt="-I../boringssl/include"   \
                       --with-ld-opt="-L../boringssl/build/ssl  \
                                      -L../boringssl/build/crypto"

that's why you have to build the boringssl libs before building nginx.

Best,
Manuel


Am Do., 23. Juli 2020 um 22:29 Uhr schrieb HARISH KUMAR Ivaturi
<harishkumarivaturi at gmail.com>:
>
> Hi Manuel
>
> Could you reply me for the above error log.
>
> You are just keep viewing my linkedln profile everyday
>
>
>
> On Wed 22 Jul, 2020, 4:27 PM HARISH KUMAR Ivaturi, <harishkumarivaturi at gmail.com> wrote:
>>
>> checking for PCRE library ... found
>> checking for PCRE JIT support ... found
>> checking for OpenSSL library ... found
>> checking for OpenSSL QUIC support ... not found
>>
>> ./auto/configure: error: certain modules require OpenSSL QUIC support.
>> You can either do not enable the modules, or install the OpenSSL library
>> into the system, or build the OpenSSL library statically from the source
>> with nginx by using --with-openssl=<path> option.
>>
>>
>> i have built openssl with ./config enable-tls1_3 --openssldir=/etc/ssl
>>
>> but still it displays the same error.
>>
>>
>> On Wed, Jul 22, 2020 at 2:42 PM Manuel <manuel.baesler at gmail.com> wrote:
>>>
>>> Hi,
>>>
>>> you don’t have to install boring. You just have to build it and instruct the nginx build to use the boring build artifacts.
>>>
>>> What are the error messages which commands you used?
>>>
>>>
>>> Am 22.07.2020 um 11:57 schrieb HARISH KUMAR Ivaturi <harishkumarivaturi at gmail.com>:
>>>
>>> Hi Manuel
>>>
>>> referred to https://boringssl.googlesource.com/boringssl/ for building boringssl and there is another document available as building.md . I did use but could not build boringssl . Could you elaborate me the installation steps for boringssl ? It would be helpful if you can instruct the commands.
>>>
>>> BR
>>> Harish Kumar
>>>
>>> On Tue, Jul 21, 2020 at 10:31 PM Manuel <manuel.baesler at gmail.com> wrote:
>>>>
>>>>  Before you can compile nginx you have to compile the boringssl libs.
>>>>
>>>> Compiling for boringssl is documented at the boringssl webpage.
>>>>
>>>> Am 21.07.2020 um 16:38 schrieb HARISH KUMAR Ivaturi <harishkumarivaturi at gmail.com>:
>>>>
>>>> Hi Manuel
>>>> Thanks for the reply.
>>>>
>>>> i did that, but i executed the command at a time , didn't do separately. The command executed was
>>>>
>>>> $ ./auto/configure --with-debug --with-http_v3_module       \
>>>>                        --with-cc-opt="-I../boringssl/include"   \
>>>>                        --with-ld-opt="-L../boringssl/build/ssl  \
>>>>                                       -L../boringssl/build/crypto"
>>>>
>>>>
>>>> And later says Error: OpenSSL with QUIC support is not there.
>>>>
>>>>
>>>> Could you send me a video of your explanation from scratch? Building this in your linux ubuntu.
>>>>
>>>>
>>>> BR
>>>>
>>>> Harish Kumar
>>>>
>>>>
>>>> On Tue, Jul 21, 2020 at 5:40 PM Manuel <manuel.baesler at gmail.com> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> as the readme from the hg repo indicates, you first have to build the
>>>>> boring lib. (build/ssl build/crypto)
>>>>>
>>>>>   $ ./auto/configure [..]
>>>>> --with-ld-opt="-L../boringssl/build/ssl -L../boringssl/build/crypto"
>>>>> [..]
>>>>> checking for --with-ld-opt="-L../boringssl/build/ssl
>>>>> -L../boringssl/build/crypto" ... found
>>>>> [..]
>>>>> nginx-quic/objs$ ./nginx -V
>>>>> nginx version: nginx/1.19.1
>>>>> built with OpenSSL 1.1.0 (compatible; BoringSSL) (running with BoringSSL)
>>>>> TLS SNI support enabled
>>>>> configure arguments: --with-debug --with-http_v3_module
>>>>> --with-cc-opt=-I../boringssl/include
>>>>> --with-ld-opt='-L../boringssl/build/ssl -L../boringssl/build/crypto'
>>>>>
>>>>> Am Di., 21. Juli 2020 um 16:03 Uhr schrieb HARISH KUMAR Ivaturi
>>>>> <harishkumarivaturi at gmail.com>:
>>>>> >
>>>>> > Hi
>>>>> >
>>>>> > I am Harish Kumar, Master Student at BTH Sweden. I am doing my thesis on OpenStack with HTTP/3 and dependencies to complete my thesis are Nginx Web Server with HTTP/3 feature and curl with HTTP/3. I have successfully built curl but w.r.t Nginx with HTTP/3 i could not.
>>>>> >
>>>>> > There are two sources which i found to build Nginx with HTTP/3 and these sources are mentioned below:
>>>>> > 1) https://blog.cloudflare.com/experiment-with-http-3-using-nginx-and-quiche/
>>>>> > 2) https://quic.nginx.org/readme.html
>>>>> >
>>>>> > I tried both and could not build nginx with HTTP/3. I get a lot of errors like openssl with QUIC support is not there though HTTP/3 is built using BoringSSL and I am not able to get a clarity. I request you to please give me some guidance and suggestions on  how to build Nginx with HTTP/3 , i followed both official sources but i failed. Unless i have a Nginx web server with HTTP/3 enabled I cannot move further with my Thesis.
>>>>> >
>>>>> > Please let me know.
>>>>> >
>>>>> > BR
>>>>> > Harish Kumar
>>>>> > _______________________________________________
>>>>> > nginx-devel mailing list
>>>>> > nginx-devel at nginx.org
>>>>> > http://mailman.nginx.org/mailman/listinfo/nginx-devel
>>>>> _______________________________________________
>>>>> nginx-devel mailing list
>>>>> nginx-devel at nginx.org
>>>>> http://mailman.nginx.org/mailman/listinfo/nginx-devel
>>>
>>> _______________________________________________
>>> nginx-devel mailing list
>>> nginx-devel at nginx.org
>>> http://mailman.nginx.org/mailman/listinfo/nginx-devel


More information about the nginx-devel mailing list