diff --git a/content/nginx/admin-guide/dynamic-modules/dynamic-modules.md b/content/nginx/admin-guide/dynamic-modules/dynamic-modules.md index b8a72b471..dd4c11d7a 100644 --- a/content/nginx/admin-guide/dynamic-modules/dynamic-modules.md +++ b/content/nginx/admin-guide/dynamic-modules/dynamic-modules.md @@ -17,6 +17,8 @@ F5 NGINX Plus uses a modular architecture. New features and functionality can be Dynamic modules are shared object files (`.so`) that can be loaded at runtime using the [`load_module`](https://nginx.org/en/docs/ngx_core_module.html#load_module) directive in the NGINX configuration. +### NGINX-authored and NGINX-certified dynamic modules + NGINX maintains the official NGINX Plus repository, which also provides packaged binaries for both [NGINX‑authored]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-plus.md#nginx-authored-dynamic-modules" >}}) and [NGINX‑certified community]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-plus.md#nginx-certified-community-dynamic-modules" >}}) dynamic modules. All modules in this repository are fully tested to ensure full compatibility with NGINX Plus. For module‑specific installation and usage instructions, select the corresponding package name in the table. diff --git a/content/nginx/releases.md b/content/nginx/releases.md index bc8b7eac4..22e2fc209 100644 --- a/content/nginx/releases.md +++ b/content/nginx/releases.md @@ -63,6 +63,8 @@ NGINX Plus R36 is a feature release: - TLS certificate compression with the `ssl_certificate_compression` directive for [`http`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate_compression), [`stream`](https://nginx.org/en/docs/mail/ngx_mail_ssl_module.html#ssl_certificate_compression), and [`mail`](https://nginx.org/en/docs/mail/ngx_mail_ssl_module.html#ssl_certificate_compression). + - TLSv1.3 certificate compression is disabled by default. + - The [`$ssl_sigalg`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#var_ssl_sigalg) and [`$ssl_client_sigalg`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#var_ssl_client_sigalg) variables that return the signature algorithm for the client or server certificate for an SSL connection. - support for 0-RTT in QUIC when using OpenSSL 3.5.1 or newer. @@ -73,6 +75,8 @@ NGINX Plus R36 is a feature release: - Inheritance control for [headers](https://nginx.org/en/docs/http/ngx_http_headers_module.html#add_header_inherit) and [trailers](https://nginx.org/en/docs/http/ngx_http_headers_module.html#add_trailer_inherit). +- The `volatile` parameter of the [`geo`](https://nginx.org/en/docs/http/ngx_http_geo_module.html#geo) directive, which indicates that the variable is not cacheable. + - Container images with popular modules, now including ACME, OpenTelemetry, and Prometheus exporter modules. {{< call-out "note" "More info" >}} [Announcing NGINX Plus R36](https://community.f5.com/kb/technicalarticles/f5-nginx-plus-r36-release-now-available/344514) blog post. {{< /call-out >}} diff --git a/content/nginx/technical-specs.md b/content/nginx/technical-specs.md index e49275f5a..02736d419 100644 --- a/content/nginx/technical-specs.md +++ b/content/nginx/technical-specs.md @@ -18,25 +18,22 @@ NGINX Plus is available only as a binary; it is not distributed as source code. ## Dynamic Modules -Dynamic modules are supported on the [same distributions as NGINX Plus](#supported-distributions), unless noted otherwise in the table below. +[Dynamic modules]({{< ref "/nginx/admin-guide/dynamic-modules/dynamic-modules.md#nginx-authored-and-nginx-certified-dynamic-modules" >}}) are supported on the [same distributions as NGINX Plus](#supported-distributions), unless noted otherwise in the table below. {{< table >}} -| Distribution | **Module:** [F5 WAF for NGINX]({{< ref "/waf/install" >}}) | **Module:** [GeoIP]({{< ref "/nginx/admin-guide/dynamic-modules/geoip.md" >}}) | **Module:** [GeoIP2]({{< ref "/nginx/admin-guide/dynamic-modules/geoip2.md" >}}) | **Module:** [HA-Keepalived]({{< ref "/nginx/admin-guide/high-availability/ha-keepalived-nodes.md#configuring-keepalived-for-an-additional-passive-node" >}}) | **Module:** [NGINX sync]({{< ref "/nginx/admin-guide/high-availability/configuration-sharing.md#installing-nginx-sync-on-the-primary-machine" >}}) | **Module:** [OpenTelemetry]({{< ref "/nginx/admin-guide/dynamic-modules/opentelemetry.md" >}}) | +| Distribution | [F5 WAF for NGINX]({{< ref "/waf/changelog.md#packages" >}}) | [GeoIP]({{< ref "/nginx/admin-guide/dynamic-modules/geoip.md" >}}) | [GeoIP2]({{< ref "/nginx/admin-guide/dynamic-modules/geoip2.md" >}}) | [HA-Keepalived]({{< ref "/nginx/admin-guide/high-availability/ha-keepalived-nodes.md#configuring-keepalived-for-an-additional-passive-node" >}}) | [NGINX sync]({{< ref "/nginx/admin-guide/high-availability/configuration-sharing.md#installing-nginx-sync-on-the-primary-machine" >}}) | [OpenTelemetry]({{< ref "/nginx/admin-guide/dynamic-modules/opentelemetry.md" >}}) | |--------------|------------|-------|---------|---------------|------------|---------------| | **AlmaLinux** | ❌ | ❌ | ✓ | ✓ | ✓ | ✓ | -| **Alpine Linux 3.17 & 3.18** | ❌ | ✓ | ✓ | ❌ | ❌ | ✓ | -| **Alpine Linux 3.19, 3.20, 3.21, 3.22** | ✓ (x86_64 only) | ✓ | ✓ | ❌ | ❌ | ✓ | +| **Alpine Linux 3.20, 3.21, 3.22** | 3.22 x86_64 only | ✓ | ✓ | ❌ | ❌ | ✓ | | **Amazon Linux 2** | ❌ | ✓ | ❌ | ❌ | ✓ | ❌ | | **Amazon Linux 2023** | ✓ (x86_64 only) | ❌ | ✓ | ❌ | ✓ | ✓ | | **Debian 11 & 12** | ✓ (x86_64 only) | ✓ | ✓ | ✓ | ✓ | ✓ | | **FreeBSD** | ❌ | ❌ | ✓ | ❌ | ❌ | ✓ | -| **Oracle Linux 8** | ✓ (x86_64 only) | ❌ | ✓ | ✓ | ✓ | ✓ | +| **Oracle Linux 8.1** | ✓ (x86_64 only) | ❌ | ✓ | ✓ | ✓ | ✓ | | **RHEL 8 & 9** | ✓ (x86_64 only) | ❌ | ✓ | ✓ | ✓ | ✓ | -| **Rocky Linux 8** | ❌ | ❌ | ✓ | ✓ | ✓ | ✓ | -| **Rocky Linux 9** | ✓ (x86_64 only) | ❌ | ✓ | ✓ | ✓ | ✓ | +| **Rocky Linux 8 & 9** | ✓ (x86_64 only) | ❌ | ✓ | ✓ | ✓ | ✓ | | **SLES** | ❌ | 15 only | ✓ | ✓ | ✓ | ✓ | -| **Ubuntu 20.04** | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | | **Ubuntu 22.04 & 24.04** | ✓ (x86_64 only) | ✓ | ✓ | ✓ | ✓ | ✓ | {{< /table >}} @@ -60,10 +57,12 @@ TLSv1.3 is supported starting from NGINX Plus R17 and is enabled by default in N TLSv1.2 and TLSv1.3 are the default SSL protocols starting from NGINX Plus R34 (if supported by the OpenSSL library). If OpenSSL 1.0.0 or older is used, the default SSL protocols are TLSv1 and TLSv1.1. +{{< call-out "note" "Important" >}} NGINX Plus is built on the latest minor release of each supported operating system platform. In many cases, the latest revisions of these operating systems are adapting their platforms to support OpenSSL 3.5 (for example, RHEL 9.7 and 10.1). In these situations, NGINX Plus requires that OpenSSL 3.5.0 or later is installed for proper operation. {{< /call-out >}} + ## Supported Deployment Environments - Bare metal -- Containers and Kubernetes +- [Containers](({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-docker.md" >}}) and Kubernetes - Public clouds: AWS, Google Cloud Platform, Microsoft Azure - Virtual machines @@ -117,6 +116,7 @@ See [Sizing Guide for Deploying NGINX Plus](https://www.f5.com/pdf/deployment-gu - [Cache Slice](https://nginx.org/en/docs/http/ngx_http_slice_module.html) – Create byte-range segments of large files, for more efficient caching - [Geo](https://nginx.org/en/docs/http/ngx_http_geo_module.html) – Create variables based on client IP address - [Map](https://nginx.org/en/docs/http/ngx_http_map_module.html) – Create variables based on other variables in requests +- [Num_map](https://nginx.org/en/docs/http/ngx_http_num_map_module.html) – Create variables whose values depend on numeric values or numeric value ranges - [Rewrite](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html) – Test and change URI of request - [Split Clients](https://nginx.org/en/docs/http/ngx_http_split_clients_module.html) – Partition clients for A/B testing - [Sub](https://nginx.org/en/docs/http/ngx_http_sub_module.html) – Replace text string in response (rewrite content) @@ -142,6 +142,7 @@ See [Sizing Guide for Deploying NGINX Plus](https://www.f5.com/pdf/deployment-gu - [Mirror](https://nginx.org/en/docs/http/ngx_http_mirror_module.html) – Send copy of requests to one or more additional servers - [Proxy](https://nginx.org/en/docs/http/ngx_http_proxy_module.html) – Proxy and cache requests to HTTP server - [SCGI](https://nginx.org/en/docs/http/ngx_http_scgi_module.html) – Proxy and cache requests to SCGI server +- [Tunnel](https://nginx.org/en/docs/http/ngx_http_tunnel_module.html) – Handle CONNECT requests and establishes an end-to-end virtual connection for forward proxying - [Upstream](https://nginx.org/en/docs/http/ngx_http_upstream_module.html) – Proxy and cache requests to load-balanced pool of servers - [Upstream Health Checks](https://nginx.org/en/docs/http/ngx_http_upstream_hc_module.html) – Verify servers in load-balanced pool are operational - [uwsgi](https://nginx.org/en/docs/http/ngx_http_uwsgi_module.html) – Proxy and cache requests to uwsgi server @@ -182,6 +183,7 @@ See [Sizing Guide for Deploying NGINX Plus](https://www.f5.com/pdf/deployment-gu - [Limit Conn](https://nginx.org/en/docs/stream/ngx_stream_limit_conn_module.html) – Limit concurrent connections by key - [Log](https://nginx.org/en/docs/stream/ngx_stream_log_module.html) – Log TCP and UDP transactions - [Map](https://nginx.org/en/docs/stream/ngx_stream_map_module.html) – Create variables based on other variables in requests +- [Num_map](https://nginx.org/en/docs/stream/ngx_stream_num_map_module.html) – Create variables whose values depend on numeric values or numeric value ranges - [MQTT Preread](https://nginx.org/en/docs/stream/ngx_stream_mqtt_preread_module.html) – Forward MQTT traffic without processing it - [MQTT Filter](https://nginx.org/en/docs/stream/ngx_stream_mqtt_filter_module.html) – Process Message Queuing Telemetry Transport protocol (MQTT) protocol - [Proxy](https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html) – Proxy requests to TCP and UDP servers