How to install freenginx-ech (x86_64)
Encrypted Client Hello key management for NGINX
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-freenginx-mainline sudo yum -y install freenginx-ech
Description
Key generation and rotation for Encrypted Client Hello (ECH, RFC 9849). nginx reads ECH keys while parsing its configuration, so a new key only takes effect on reload, and a client that picked up an older ECHConfigList from a cached HTTPS DNS record still needs the key it encrypted to. nginx handles that by accepting several ssl_ech_file directives: the first is advertised in retry-configs, the rest stay loaded for decryption only. This package ships nginx-ech-keygen, which maintains that rolling set under /etc/nginx/ech and regenerates the include listing them, plus a systemd timer that rotates on a schedule. The timer is not enabled on install and nothing happens until you configure it. Set ECH_PUBLIC_NAME in /etc/sysconfig/nginx-ech-rotate, run "nginx-ech-keygen --init", publish the value it prints in the HTTPS record for your ECH-enabled names, then "systemctl enable --now nginx-ech-rotate.timer". ECH only helps if the HTTPS record is served from a DNS-only zone and clients resolve over DoH. See https://nginx-extras.getpagespeed.com/ech/
RPMs
| Package | Size | Built | Changes |
|---|---|---|---|
| freenginx-ech-1.31.4-66.amzn2.gps.x86_64 | 15 KiB | 2026-09-04 |
Danila Vershinin - gps-license 1.9.0 tarball refresh: fix Linux compilation of the module's · unit-test harness (POSIX feature-test macro, test path buffer); shipped · module code unchanged. Supersedes the partially-published Release 65 · (x86_64-only, cancelled mid-build) so all architectures converge on the · E2E-proven build (verified against production: beacon machine identity · row landed in repo_license_usage) |
| freenginx-ech-1.31.4-64.amzn2.gps.x86_64 | 14 KiB | 2026-09-02 |
Danila Vershinin - nginx-ech: new subpackage for ECH (RFC 9849) key generation and rotation, · at parity with nginx-mod-ech (shared nginx-ech-keygen implementation) · - assert ECH is live at build time: a bogus ssl_ech_file must fail the · configuration test instead of degrading to a silent no-op |
| freenginx-ech-1.31.3-64.amzn2.gps.x86_64 | 14 KiB | 2026-08-27 |
Danila Vershinin - nginx-ech: new subpackage for ECH (RFC 9849) key generation and rotation, · at parity with nginx-mod-ech (shared nginx-ech-keygen implementation) · - assert ECH is live at build time: a bogus ssl_ech_file must fail the · configuration test instead of degrading to a silent no-op |