Skip to content

Actualized Dynamic modules info for NGINX Plus #430

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 4 additions & 59 deletions content/nginx/admin-guide/dynamic-modules/cookie-flag.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,69 +10,14 @@ type:
- how-to
---

> **Note**: The module was deprecated in [Release 23]({{< ref "nginx/releases.md#r23" >}}) and removed in [Release 26]({{< ref "nginx/releases.md#r26" >}}). The [`proxy_cookie_flags`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_flags) directive implements native support for setting cookie flags and replaces the module. See [Native Method for Setting Cookie Flags](https://www.nginx.com/blog/nginx-plus-r23-released#cookie-flags) for details.
{{< note >}} The `nginx-plus-module-cookie-flag` package is no longer available.{{< /note >}}

## Installation
The module was deprecated in [NGINX Plus Release 23]({{< ref "nginx/releases.md#r23" >}}) and removed in [NGINX Plus Release 26]({{< ref "nginx/releases.md#r26" >}}). Its functionality has been replaced with natively supported [`proxy_cookie_flags`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_flags) directive.

1. Install the Cookie-Flag module.
To remove the module, follow the [Uninstalling a Dynamic Module]({{< ref "uninstall.md" >}}) instructions.

For Amazon Linux, CentOS, Oracle Linux, and RHEL:
To learn how to replace the module with the native solution, see [Native Method for Setting Cookie Flags](https://www.nginx.com/blog/nginx-plus-r23-released#cookie-flags) and the [`proxy_cookie_flags`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cookie_flags) directive.

```shell
sudo yum update && \
sudo yum install nginx-plus-module-cookie-flag
```

For Debian and Ubuntu:

```shell
sudo apt update && \
sudo apt install nginx-plus-module-cookie-flag
```

For SLES:

```shell
sudo zypper refresh && \
sudo zypper install nginx-plus-module-cookie-flag
```

For Alpine:

```shell
apk add nginx-plus-module-cookie-flag
```

2. Put the [`load_module`](https://nginx.org/en/docs/ngx_core_module.html#load_module) directive in the top‑level (“`main`”) context of F5 NGINX Plus configuration file, **nginx.conf**:

```nginx
load_module modules/ngx_http_cookie_flag_filter_module.so;

http {
# ...
}
```

3. Perform additional configuration as required by the [module](https://github.com/AirisX/nginx_cookie_flag_module).

4. Test the NGINX Plus configuration. In a terminal, type-in the command:

```shell
nginx -t
```

Expected output of the command:

```shell
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf is successful
```

5. Reload the NGINX Plus configuration to enable the module:

```shell
nginx -s reload
```

## More Info

Expand Down
201 changes: 136 additions & 65 deletions content/nginx/admin-guide/dynamic-modules/dynamic-modules.md

Large diffs are not rendered by default.

85 changes: 3 additions & 82 deletions content/nginx/admin-guide/dynamic-modules/nginx-waf.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,90 +9,11 @@ type:
- how-to
---

The F5 NGINX ModSecurity web application firewall (WAF) is built on ModSecurity 3.0.
{{< note >}} The `nginx-plus-module-modsecurity` package is no longer available.{{< /note >}}

{{< note >}} The ModSecurity WAF module was deprecated since NGINX Plus [Release 29]({{< ref "nginx/releases.md#r29" >}}), and is no longer available since NGINX Plus [Release 32]({{< ref "nginx/releases.md#r32" >}}) {{< /note >}}
The ModSecurity WAF module was deprecated since [NGINX Plus Release 29]({{< ref "nginx/releases.md#r29" >}}), and is no longer available since [NGINX Plus Release 32]({{< ref "nginx/releases.md#r32" >}}).

## Installation

1. Check the [Technical Specifications]({{< ref "nginx/technical-specs.md" >}}) page to verify that the module is supported by your operating system.

2. Install the NGINX ModSecurity WAF module package `nginx-plus-module-modsecurity`.

For Amazon Linux 2, CentOS, Oracle Linux, and RHEL:

```shell
sudo yum update && \
sudo yum install nginx-plus-module-modsecurity
```

{{< note >}} ppc64le is currently not supported for Amazon Linux, CentOS, Oracle Linux, and RHEL. {{< /note >}}

For Amazon Linux 2023:

```shell
sudo dnf update && \
sudo dnf install nginx-plus-module-modsecurity
```

For Debian and Ubuntu:

```shell
sudo apt update && \
sudo apt install nginx-plus-module-modsecurity
```

{{< note >}} aarch64 and ppc64le is currently not supported for Ubuntu.{{< /note >}}

For SLES:

```shell
sudo zypper refresh && \
sudo zypper install nginx-plus-module-modsecurity
```

For Alpine:

```shell
apk add nginx-plus-module-modsecurity
```

## Configuration

After installation you will need to enable and configure the module in NGINX Plus configuration file `nginx.conf`.

1. Enable dynamic loading of the module with the [`load_module`](https://nginx.org/en/docs/ngx_core_module.html#load_module) directive specified in the top-level (“`main`”) context:

```nginx
load_module modules/ngx_http_modsecurity_module.so;

http {
# ...
}
```

2. Perform additional configuration as required by the [module](https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual).

3. Test the NGINX Plus configuration. In a terminal, type-in the command:

```shell
nginx -t
```

Expected output of the command:

```shell
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf is successful
```

4. Reload the NGINX Plus configuration to enable the module:

```shell
nginx -s reload
```

5. [Configure](https://docs.nginx.com/nginx-waf/admin-guide/nginx-plus-modsecurity-waf-installation-logging/) the module.
To remove the module, follow the [Uninstalling a Dynamic Module]({{< ref "uninstall.md" >}}) instructions.

## More Info

Expand Down
16 changes: 9 additions & 7 deletions content/nginx/admin-guide/dynamic-modules/opentelemetry.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ type:

[OpenTelemetry](https://opentelemetry.io/) (OTel) is an observability framework for monitoring, tracing, troubleshooting, and optimizing applications. OTel enables the collection of telemetry data from a deployed application stack.

The `nginx-plus-module-otel` module is an NGINX-authored dynamic module that enables NGINX Plus to send telemetry data to an OTel collector. The module supports [W3C](https://w3c.github.io/trace-context/) trace context propagation, OpenTelemetry Protocol (OTLP)/gRPC trace exports, and offers several advantages over existing OTel modules including:
The `nginx-plus-module-otel` module is an [NGINX-authored]({{< ref "nginx/admin-guide/installing-nginx/installing-nginx-plus.md#nginx-authored-dynamic-modules" >}}) dynamic module that enables NGINX Plus to send telemetry data to an OTel collector. The module supports [W3C](https://w3c.github.io/trace-context/) trace context propagation, OpenTelemetry Protocol (OTLP)/gRPC trace exports, and offers several advantages over existing OTel modules including:

- Enhanced performance: with the module enabled, request processing overhead is limited to 10-15%, compared to other OpenTelemetry implementations, which can introduce performance degradation of up to 50%.

Expand All @@ -30,7 +30,7 @@ The OpenTelemetry module supersedes the deprecated [OpenTracing]({{< ref "opentr

## Installation

The installation process closely follows the [NGINX Plus installation procedure]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-plus.md" >}}). Prebuilt packages of the module for various Linux distributions can can be installed directly from the official repository. Prior to installation, you need to add the NGINX Plus package repository for your distribution and update the repository metadata.
The installation process closely follows the [NGINX Plus installation procedure]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-plus.md" >}}). The module is available as the prebuilt `nginx-plus-module-otel` package for various Linux distributions and can be installed directly from the official NGINX Plus repository. Prior to installation, you need to add the NGINX Plus package repository for your distribution and update the repository metadata.

1. Check the [Technical Specifications]({{< ref "nginx/technical-specs.md" >}}) page to verify that the module is supported by your operating system.

Expand Down Expand Up @@ -131,7 +131,7 @@ The installation process closely follows the [NGINX Plus installation procedure]

6. Ensure that your package management system is configured to pull packages from the NGINX Plus repository. See [Installing NGINX Plus]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-plus.md" >}}) for details.

7. Update the repository information and install the package. In a terminal, run the appropriate command for your operating system.
7. Update the repository information and install the `nginx-plus-module-otel` package. In a terminal, run the appropriate command for your operating system.

For CentOS, Oracle Linux, and RHEL:

Expand Down Expand Up @@ -170,9 +170,9 @@ The installation process closely follows the [NGINX Plus installation procedure]

The resulting `ngx_otel_module.so` dynamic module will be written to the following directory, depending on your operating system:

- `/usr/local/nginx/modules` for most Linux Distributions
- `/usr/lib/nginx/modules` for Ubuntu
- `/usr/local/etc/nginx/modules` for FreeBSD
- `/usr/lib64/nginx/modules/` for most Linux distributions
- `/usr/lib/nginx/modules` for Debian, Ubuntu, Alpine
- `/usr/local/etc/nginx/modules` for FreeBSD

8. Enable dynamic loading of the module.

Expand Down Expand Up @@ -211,7 +211,9 @@ The installation process closely follows the [NGINX Plus installation procedure]

## Configuration

In a text editor, open the NGINX Plus configuration file (`/etc/nginx/nginx.conf` for Linux or `/usr/local/etc/nginx/nginx.conf` for FreeBSD).
In a text editor, open the NGINX Plus configuration file:
- `/etc/nginx/nginx.conf` for Linux
- `/usr/local/etc/nginx/nginx.conf` for FreeBSD

For a complete list of directives, embedded variables, default span attributes, refer to the `ngx_otel_module` official documentation.

Expand Down
94 changes: 3 additions & 91 deletions content/nginx/admin-guide/dynamic-modules/opentracing.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,101 +12,13 @@ type:
- how-to
---

{{< note >}} The module no longer available since F5 NGINX Plus [Release 34]({{< ref "nginx/releases.md#r34" >}}). The [OpenTelemetry]({{< ref "nginx/admin-guide/dynamic-modules/opentelemetry.md" >}}) module is available since NGINX Plus [Release 29]({{< ref "nginx/releases.md#r29" >}}) that incorporates the features of the OpenTracing module.{{< /note >}}
{{< note >}} The `nginx-plus-module-opentracing` package is no longer available.{{< /note >}}

The module was deprecated in [NGINX Plus Release 31]({{< ref "nginx/releases.md#r31" >}}) and removed in [NGINX Plus Release 34]({{< ref "nginx/releases.md#r34" >}}). Its functionality has been replaced with the [OpenTelemetry]({{< ref "nginx/admin-guide/dynamic-modules/opentelemetry.md" >}}) module.

<span id="install"></span>
## Installation
To remove the module, follow the [Uninstalling a Dynamic Module]({{< ref "uninstall.md" >}}) instructions.

1. Check the [Technical Specifications]({{< ref "nginx/technical-specs.md" >}}) page to verify that the module is supported by your operating system.

2. Install the OpenTracing module package `nginx-plus-module-opentracing`.

For Amazon Linux 2, CentOS, Oracle Linux, and RHEL:

```shell
sudo yum update && \
sudo yum install nginx-plus-module-opentracing
```

{{< note >}}the OpenTracing module cannot be installed on CentOS 6, Oracle Linux 6, and RHEL 6. {{< /note >}}

For Amazon Linux 2023, AlmaLinux, Rocky Linux:

```shell
sudo dnf update && \
sudo dnf install nginx-plus-module-opentracing
```

For Debian and Ubuntu:

```shell
sudo apt update && \
sudo apt install nginx-plus-module-opentracing
```

For SLES:

```shell
sudo zypper refresh && \
sudo zypper install nginx-plus-module-opentracing
```

{{< note >}} the OpenTracing module cannot be installed on SLES 12. {{< /note >}}

For Alpine:

```shell
apk add nginx-plus-module-opentracing
```

For FreeBSD:

```shell
sudo pkg update && \
sudo pkg install nginx-plus-module-opentracing
```


<span id="configure"></span>

## Configuration

After installation you will need to enable and configure the module in NGINX Plus configuration file `nginx.conf`.

1. Enable dynamic loading of the module with the [`load_module`](https://nginx.org/en/docs/ngx_core_module.html#load_module) directive specified in the top-level (“`main`”) context:

```nginx
load_module modules/ngx_http_opentracing_module.so;

http {
# ...
}
```

2. Perform additional configuration as required by the [module](https://github.com/opentracing-contrib/nginx-opentracing). You will also need to [install a tracer](https://github.com/opentracing-contrib/nginx-opentracing#building-from-source) (“portable binary plugin”) for your selected service.

3. Test the NGINX Plus configuration. In a terminal, type-in the command:

```shell
nginx -t
```

Expected output of the command:

```shell
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf is successful
```

4. Reload the NGINX Plus configuration to enable the module:

```shell
nginx -s reload
```


<span id="info"></span>
## More Info

- [NGINX plugin for OpenTracing Reference](https://github.com/opentracing-contrib/nginx-opentracing)
Expand Down
Loading
Loading