Comments (7)
Do you have gzip_vary on
in your config? Without it, 3rd-party proxy in front of your NGINX might be serving cached content without validating that Accept-Encoding
matches.
from ngx_brotli.
i have the following set
brotli on;
brotli_static on;
brotli_min_length 1000;
brotli_buffers 32 8k;
brotli_comp_level 5;
brotli_types text/plain text/css text/xml application/javascript application/x-javascript application/xml application/xml+rss application/ecmascript application/json image/svg+xml;
gzip on;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
gzip_static on;
gzip_min_length 1400;
gzip_buffers 32 8k;
gzip_http_version 1.0;
gzip_comp_level 6;
gzip_proxied any;
gzip_types text/plain text/css text/xml application/javascript application/x-javascript application/xml application/xml+rss application/ecmascript application/json image/svg+xml;
from ngx_brotli.
I don't see how this module could produce bad content encoding, especially considering that it didn't change in the past 3 months (...and the issue is presumably a new one?).
Do you have an example of request / response headers that resulted in the invalid compression?
from ngx_brotli.
IE/Edge make up less than 3% of visitors so probably hasn't been noticed much. I disabled brotli compression while I get feedback from other IE11/Edge users if that fixes the problem. I'll turn it back on afterwards and give you an example. One of the specific assets was the css url for https://community.centminmod.com/styles/xenbase/font-awesome/css/font-awesome.min.css but it's now served via gzip while brotli is turned off.
from ngx_brotli.
I'm going to close this, since there is no proof that this module is source of your issues.
from ngx_brotli.
@PiotrSikora re-enabled ngx_brotli so it's live on my site/forums and still happening some more info
- still only happens in IE/MS Edge browsers https://community.centminmod.com/threads/site-broken-in-internet-explorer-edge.9701/
- wpt ms edge result for my forums at https://community.centminmod.com/ with screenshot https://www.webpagetest.org/result/170113_BA_1CW2/2/screen_shot/
nginx -V
nginx version: nginx/1.11.8
built by gcc 5.3.1 20160406 (Red Hat 5.3.1-6) (GCC)
built with OpenSSL 1.0.2j 26 Sep 2016
TLS SNI support enabled
configure arguments: --with-ld-opt='-ljemalloc -Wl,-z,relro -Wl,-rpath,/usr/local/lib' --with-cc-opt='-m64 -march=native -DTCP_FASTOPEN=23 -g -O3 -fstack-protector-strong --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wno-deprecated-declarations' --sbin-path=/usr/local/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --with-http_stub_status_module --with-http_secure_link_module --add-module=../nginx-module-vts --with-libatomic --with-http_gzip_static_module --add-dynamic-module=../ngx_brotli --add-dynamic-module=../ngx_pagespeed-1.12.34.2-beta --with-http_sub_module --with-http_addition_module --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-stream_geoip_module=dynamic --with-stream_realip_module --with-stream_ssl_preread_module --with-threads --with-stream=dynamic --with-stream_ssl_module --with-http_realip_module --add-dynamic-module=../ngx-fancyindex-0.4.0 --add-module=../ngx_cache_purge-2.3 --add-module=../ngx_devel_kit-0.3.0 --add-module=../set-misc-nginx-module-0.31 --add-module=../echo-nginx-module-0.60 --add-module=../redis2-nginx-module-0.13 --add-module=../ngx_http_redis-0.3.7 --add-module=../memc-nginx-module-0.17 --add-module=../srcache-nginx-module-0.31 --add-module=../headers-more-nginx-module-0.32 --with-pcre=../pcre-8.39 --with-pcre-jit --with-http_ssl_module --with-http_v2_module --with-openssl=../openssl-1.0.2j
brotli on;
brotli_static on;
brotli_min_length 1000;
brotli_buffers 32 8k;
brotli_comp_level 5;
brotli_types text/plain text/css text/xml application/javascript application/x-javascript application/xml application/xml+rss application/ecmascript application/json image/svg+xml;
and
gzip on;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
gzip_static on;
gzip_min_length 1400;
gzip_buffers 32 8k;
gzip_http_version 1.0;
gzip_comp_level 6;
gzip_proxied any;
gzip_types text/plain text/css text/xml application/javascript application/x-javascript application/xml application/xml+rss application/ecmascript application/json image/svg+xml;
from ngx_brotli.
@centminmod Could it be that the problem lies in rather the way new Edge's engine deals/fails with Brotli support? They seem to have introduced support for Brotli recently
from ngx_brotli.
Related Issues (20)
- Why on earth is this so complicated to install in Ubuntu AND have it auto-update? HOT 5
- nginx only uses br if content-length response header is missing HOT 1
- Use-After-Free problem HOT 5
- Does not compile on Debian 12 / Bookworm HOT 5
- Statically compiled installation fails HOT 13
- make[1]: Nothing to be done for 'modules' HOT 1
- cannot find -lbrotlienc HOT 3
- Statically compiled failure on debian 11 ARM HOT 1
- Still "make[1]: Nothing to be done for 'modules'" after PR HOT 6
- Statically compiled module fails to compile on arm64 HOT 2
- Brotli throwing errors on make modules: Ubuntu 22.04 HOT 4
- ''' /tmp/ngx_brotli/filter/ngx_http_brotli_filter_module.c: In function 'ngx_http_brotli_header_filter': 136.9 /tmp/ngx_brotli/filter/ngx_http_brotli_filter_module.c:322:4: error: 'ngx_table_elt_t' has no member named 'next' 136.9 322 | h->next = NULL; 136.9 | ^~ HOT 9
- nginx 1.25.2 rpm build (Fedora/COPR) + brotli/master as dynamic module FAIL: error: Brotli library is missing ... HOT 6
- compile failed with nginx when cmake build brotli return plugin needed to handle lto object HOT 6
- Statically compiled instructions fail for armv7 on raspberry pi 4 HOT 1
- Enforce Brotli over Gzip for reverse proxy HOT 1
- Docs / readme improvement: clarify behavior with reverse proxied backends
- Build errors for dynamic module on Ubuntu 20.04 on Raspeberry Pi 4 ARM. HOT 3
- cmake failed on macos HOT 1
- Critical issue on nginx worker exited on signal 4 HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ngx_brotli.