GetPageSpeed Extras

nginx-mod

How to install nginx-mod (x86_64)

High-performance web server

License: BSD Vendor: GetPageSpeed LLC https://www.getpagespeed.com/server-setup/nginx-mod-a-better-faster-nginx-build

Install

sudo yum -y install https://extras.getpagespeed.com/release-latest.rpm
sudo amazon-linux-extras install epel
sudo yum -y install yum-utils
sudo yum-config-manager --enable getpagespeed-extras-nginx-mod
sudo yum -y install nginx-mod

Description

nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server. This version adds some patches to improve performance: * HPACK by Cloudflare * Dynamic TLS records Built with QuicTLS to support HTTP/3, ensuring you're at the forefront of web technology. And using a more recent GCC, version 8. Be careful using this in production. This package merely addresses all the crazy folks who want you to compile NGINX to get the above features. The compiled NGINX is evil for many reasons. For more info, see: https://www.getpagespeed.com/server-setup/where-compilation-went-wrong The lesser, as well as faster evil is here. Packaged install is easier to use in production and is also easier to roll back to stable NGINX version in case there's an issue with those patches.

RPMs

Package Size Changelog
nginx-mod-1.30.2-52.amzn2.gps.x86_64 1.0 MiB Danila Vershinin (2026-06-11)
- gps_license: bump to 1.3.0. New FOOTER enforcement tier: when the · backend pushes enforcement=footer (or it is set locally), unlicensed · text/html responses get a small fixed-position GetPageSpeed notice · appended; the site stays fully up and the notice disappears once a · valid license token is installed. Default enforcement remains soft; · hard/503 stays reserved for revoked tokens. Filter registers in the · AUX slot so it runs before gzip.
nginx-mod-1.30.2-51.amzn2.gps.x86_64 1.0 MiB Danila Vershinin (2026-05-31)
- gps_license: bump to 1.2.0. Operator-facing 503s now point at · /nginx-license-token/ on getpagespeed.com (revoked / missing / · expired / invalid / unknown) and the 503 body is a centered nginx-style · HTML page with a "Restore access" button. The bare URL keeps serving · the generic page so older module versions still work.
nginx-mod-1.30.2-50.amzn2.gps.x86_64 1.0 MiB Danila Vershinin (2026-05-31)
- gps_license: bump to 1.2.0. Operator-facing 503s now point at · /nginx-license-token/ on getpagespeed.com (revoked / missing / · expired / invalid / unknown) and the 503 body is a centered nginx-style · HTML page with a "Restore access" button. The bare URL keeps serving · the generic page so older module versions still work.
nginx-mod-1.30.2-49.amzn2.gps.x86_64 1.0 MiB Danila Vershinin (2026-05-18)
- Bundle nginx-gps SELinux policy: allow outbound HTTPS from httpd_t · (license reporting + future integrations) and bind UDP 443 for HTTP/3. · Paired with `semanage port -a -t http_port_t -p udp 443` in %post for · EL <= 9 where the UDP label is missing.
nginx-mod-1.30.1-49.amzn2.gps.x86_64 1.0 MiB Danila Vershinin (2026-05-18)
- Bundle nginx-gps SELinux policy: allow outbound HTTPS from httpd_t · (license reporting + future integrations) and bind UDP 443 for HTTP/3. · Paired with `semanage port -a -t http_port_t -p udp 443` in %post for · EL <= 9 where the UDP label is missing.
nginx-mod-1.30.1-48.amzn2.gps.x86_64 1.0 MiB Danila Vershinin (2026-05-05)
- gps_license: bump to 1.1.1 (host telemetry: distro/arch/package_source). · - gps_license: enable on RHEL >= 8 and Amazon Linux >= 2 (was Fedora / · SUSE / EL7 only). Pass package_source=nginx_mod via cc_opt.
nginx-mod-1.30.1-47.amzn2.gps.x86_64 1.0 MiB Danila Vershinin (2026-05-05)
- gps_license: bump to 1.1.1 (host telemetry: distro/arch/package_source). · - gps_license: enable on RHEL >= 8 and Amazon Linux >= 2 (was Fedora / · SUSE / EL7 only). Pass package_source=nginx_mod via cc_opt.
nginx-mod-1.30.0-47.amzn2.gps.x86_64 1.0 MiB Danila Vershinin (2026-05-05)
- gps_license: bump to 1.1.1 (host telemetry: distro/arch/package_source). · - gps_license: enable on RHEL >= 8 and Amazon Linux >= 2 (was Fedora / · SUSE / EL7 only). Pass package_source=nginx_mod via cc_opt.
nginx-mod-1.30.0-46.amzn2.gps.x86_64 1.0 MiB Danila Vershinin (2026-05-04)
- limit_req: nano-r/s internal storage so low rates (1r/Y, 1r/d, 2r/h) · actually leak instead of being permanently stuck at 429.
nginx-mod-1.30.0-45.amzn2.gps.x86_64 1.0 MiB Danila Vershinin (2026-04-23)
- Raise Obsoletes/Provides epoch for nginx-mod-mail / nginx-mod-stream from 1 · to %{nginx_epoch} (2), using the same synthetic -99 release pattern already · in use on line 238 for the nginx name. EL9 AppStream ships these split · sub-packages at epoch 2, so the prior "<= 1:%{version}" boundary silently · never matched and left them stranded on upgrade, deadlocking dnf with · "nginx-mod-stream requires nginx(abi) = 1.20.1" on AL9 and AL10.
nginx-mod-1.30.0-44.amzn2.gps.x86_64 1.0 MiB Danila Vershinin (2026-04-23)
- slow_start.patch: wire the upstream ramp-up into the round-robin scheduler. · Previously the patch only parsed slow_start= and propagated it to the peer · struct so state files round-tripped cleanly, but ngx_http_upstream_get_peer · never scaled effective_weight, so freshly-live peers received their full · share from the first request. Now the scheduler uses peer->start_time as · the ramp-up anchor (an ABI-safe stub field already declared in upstream · nginx) and attenuates effective_weight by a 0..100 factor over the · configured window. Also fixes a pre-existing hunk mis-application that · double-assigned slow_start on the backup-zone path while missing the · backup-nonzone path. Also stamps start_time in the api module's POST/PATCH · paths so API-created peers ramp correctly. Verified on Rocky Linux 10 · with 2-peer and 3-peer upstreams (30s and 60s windows tracked linear · theoretical ramp within 0.5% at every sample point).
nginx-mod-1.30.0-43.amzn2.gps.x86_64 1.0 MiB Danila Vershinin (2026-04-19)
- Preserve cross-variant nginx service state across upgrades: scan both · nginx.service and angie.service in %pretrans; flag file moved to · /run/nginx-variant.was-* to signal cross-variant scope

Subscribe