Opened 2 years ago

Last modified 4 months ago

#798 new enhancement

Implement http_brotli_static module

Reported by: bayden@… Owned by:
Priority: major Milestone:
Component: nginx-core Version: 1.9.x
Keywords: Cc:
uname -a:
nginx -V: 1.9.5


Today, nginx supports the http_gzip_static module ( for doing ahead-of-time gzip compression of assets; this is very useful because it allows using high-ratio/low-performance compressors like Zopfli.

Web Browsers (Chrome and Firefox, to start) are about to start supporting a new Content-Encoding, named Brotli, which offers MUCH improved compression ratios but with slow performance. As such, we need nginx to support a similar module (e.g. http_brotli_static) for this new content-encoding.

Attachments (1)

brotli_1_11_10.patch (9.6 KB) - added by eustas@… 13 months ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 2 years ago by bayden@…

It appears that Google has made this issue rather moot by releasing a module that handles both static and on-the-fly Brotli compression:

comment:2 Changed 2 years ago by…

Firefox 44 (scheduled for release in January 2016) will support Brotli:

It would be nice to have Brotli support available in nginx out-of-the-box. For me personally, the "brotli_static" feature mentioned in this bug report would be fine, I don't (yet) need on-the-fly Brotli compression.

Maybe this can be considered for the 1.9 branch?

Thank you for nginx!

comment:3 Changed 2 years ago by lewisgoddard@…

Just to add a few more relevant links:

comment:4 Changed 14 months ago by cmoeke@…

The Google Brotli module should be added now to nginx.

Most modern browsers support Brotli (

  • Edge 15 (Current version 14)
  • Firefox 44 (Current version 50)
  • Chrome 50 (Current version 55)
  • Opera 38 (Current version 42)

There is also a fallback to gzip for older Browsers.

comment:5 Changed 13 months ago by eustas@…

An alternative could be to extend http_gzip_static module, because modules share 99% of logic.

Last edited 13 months ago by eustas@… (previous) (diff)

Changed 13 months ago by eustas@…

comment:6 Changed 4 months ago by marbacz@…

What needs to be done to get the attached patch merged? The module is apparently abandoned with the latest commit a year ago.

Note: See TracTickets for help on using tickets.