The headline is exciting but the link goes to a page that tells you that there’s an optional (not built by default), which has been the case for a while. The only change since I last read the module docs is that it no longer requires a patched version of OpenSSL.
That’s correct, but the vast majority of NGINX features are behind feature flags that are not compiled by default. Apologies that the headline is a bit sensationalist, but this is the first time that HTTP/3 has been in NGINX mainline as far as I am aware.
As an example, --with-http_ssl_module is a flag that most distros have to put in to allow for any HTTPS support in NGINX, same with HTTP/2.
NGINX by “default” does not have SSL or HTTP/2 enabled or even compiled out of the box, both are locked behind compile flags, but obviously almost every distribution enables these flags.
NGINX by “default” does not have SSL or HTTP/2 enabled or even compiled out of the box, both are locked behind compile flags, but obviously almost every distribution enables these flags.
Main nginx package is built with all modules that do not require additional libraries to avoid extra dependencies.
However, in practice, I’m not even sure what this means and for whom. For instance, assuming “Main” refers to mainline if you install mainline Nginx from their provided package repositories, e.g. http://nginx.org/en/linux_packages.html#Ubuntu, SSL or HTTP/2 are definitely enabled; have been for years. So if those flags are only relevant if you build from source than that point will be moot for the majority of people installing it from either the package repos of their distribution of choice or using Nginx provided repos.
And it gets even more weird. From the OP we get
This module is not built by default, it should be enabled with the –with-http_v3_module configuration parameter.
The headline is exciting but the link goes to a page that tells you that there’s an optional (not built by default), which has been the case for a while. The only change since I last read the module docs is that it no longer requires a patched version of OpenSSL.
That’s correct, but the vast majority of NGINX features are behind feature flags that are not compiled by default. Apologies that the headline is a bit sensationalist, but this is the first time that HTTP/3 has been in NGINX mainline as far as I am aware.
As an example,
--with-http_ssl_module
is a flag that most distros have to put in to allow for any HTTPS support in NGINX, same with HTTP/2.NGINX by “default” does not have SSL or HTTP/2 enabled or even compiled out of the box, both are locked behind compile flags, but obviously almost every distribution enables these flags.
IMO, this is arguing semantics and in general I’d even disagree that this is correct. According to http://nginx.org/en/linux_packages.html#dynmodules by default we have:
However, in practice, I’m not even sure what this means and for whom. For instance, assuming “Main” refers to mainline if you install mainline Nginx from their provided package repositories, e.g. http://nginx.org/en/linux_packages.html#Ubuntu, SSL or HTTP/2 are definitely enabled; have been for years. So if those flags are only relevant if you build from source than that point will be moot for the majority of people installing it from either the package repos of their distribution of choice or using Nginx provided repos.
And it gets even more weird. From the OP we get
but http://nginx.org/en/linux_packages.html#distributions also has
which would somewhat imply that all other distributions will have it enabled if installed from their package repos presumably.
For the record, you can run any HTTP/1 or HTTP/2 capable server, and use
nghttpx
as a frontend for HTTP/2 and/or HTTP/3.https://nghttp2.org/documentation/nghttpx-howto.html