我的应用中有以下中间件:
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);
标题示例:
但是静态内容不会压缩。可能是什么问题?
答案 0 :(得分:32)
静态内容可能无法压缩的原因有多种:
express.compress
维护最小文件大小阈值;大小低于此阈值的文件(默认值:1024字节)将不会被压缩; express.compress
还维护内容类型的白名单以进行压缩;如果您要提供的内容类型不在该列表中的文件,它也不会被压缩; 修复:
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
...
}
}));
(作为参考,this是使用的默认过滤函数)
答案 1 :(得分:2)
问题在于重新路由到第80个端口,如:
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
感谢@robertklep的帮助!