rutas pass nodejs node middlewares data app javascript node.js express gzip

javascript - pass - El middleware de compresión express.js no funciona



routing node js (2)

El problema estaba en volver a enrutar al puerto 80-th como:

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

¡Gracias a @robertklep por ayuda!

Tengo los siguientes middlewares en mi aplicación:

app.use(express.favicon(__dirname + ''/static/public/images/favicon.ico'')); app.use(express.compress()); app.use(express.json()); app.use(express.urlencoded()); app.use(express.cookieParser(''SECRET!'')); app.use(express.static(__dirname + config.static_path, {maxAge: 365 * 86400000})); app.use(express.session({secret: ''SECRET!''})); app.use(flash()); app.use(passport.initialize()); app.use(passport.session()); app.use(app.router);

ejemplo de encabezados:

Pero el contenido estático no se comprime. ¿Cual podría ser el problema?


Hay varias razones por las que su contenido estático puede no comprimirse:

  • express.compress mantiene un umbral mínimo de tamaño de archivo; los archivos con un tamaño por debajo de este umbral (predeterminado: 1024 bytes) no se comprimirán;
  • express.compress también mantiene una lista blanca de tipos de contenido para comprimir; si está publicando archivos con un tipo de contenido que no está en esa lista, tampoco se comprimirá;

Arreglar:

app.use(express.compress({ threshold : 0, // or whatever you want the lower threshold to be filter : function(req, res) { var ct = res.get(''content-type''); // return `true` for content types that you want to compress, // `false` otherwise ... } }));

(como referencia, esta es la función de filtro predeterminada utilizada)