View this package for all Ubuntu releases →
How to install nginx-ech in Ubuntu 26.04 (resolute)
Encrypted Client Hello key management for nginx (GetPageSpeed)
Install
curl -fsSL https://extras.getpagespeed.com/release-latest.deb -o /tmp/getpagespeed-release.deb sudo apt-get install -y /tmp/getpagespeed-release.deb rm /tmp/getpagespeed-release.deb sudo apt-get update sudo apt-get install -y nginx-ech
Installing packages requires an active GetPageSpeed subscription. For other releases and channels, use the setup wizard.
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, plus nginx-ech-publish, which republishes the rotated ECHConfigList in the HTTPS DNS record through provider drop-in scripts (Cloudflare shipped; more under /usr/libexec/nginx-ech-publish). The timer is not enabled on install and nothing happens until you configure it. Set ECH_PUBLIC_NAME in /etc/default/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". Set a provider in /etc/default/nginx-ech-publish and that record is republished automatically after every rotation. 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/
Packages
| Package | Size | Built |
|---|---|---|
| nginx-ech_1:1.30.6-24~gps1+ubuntu2604+stable_amd64 | 13 KiB | 2026-11-01 |
| nginx-ech_1:1.30.6-24~gps1+ubuntu2604+stable_arm64 | 13 KiB | 2026-11-01 |
| nginx-ech_1:1.30.6-23~gps1+ubuntu2604+stable_amd64 | 13 KiB | 2026-10-29 |
| nginx-ech_1:1.30.6-23~gps1+ubuntu2604+stable_arm64 | 13 KiB | 2026-10-29 |