如何在 Sails.js 应用程序中禁用或替换 X-Powered-By header
How to disable or replace X-Powered-By header in Sails.js application
当我 运行 Sails.js 应用程序时,它会自动向每个响应添加以下 HTTP header:X-Powered-By: "Sails <sailsjs.org>"
.
是否可以禁用或覆盖它?
是的,很有可能。
您需要禁用名为 poweredBy
的 Sails 中间件,并告诉 Express.js 服务器不要添加它自己的 header。
只需将您的 config/http.js
配置文件更新为如下所示:
module.exports.http = {
middleware: {
disablePoweredBy: function(request, response, next) {
var expressApp = sails.hooks.http.app;
expressApp.disable('x-powered-by');
// response.set('X-Powered-By', 'One Thousand Hamsters');
next();
},
order: [
// ...
// 'poweredBy',
'disablePoweredBy',
// ...
]
}
};
在这里,我们正在检索 Express Application from Sails hooks and then using it's disable()
方法的实例,以将 x-powered-by
配置参数设置为 false
值。这将阻止 header 出现。
为了启用这个自定义中间件,您需要将它添加到 order
数组中。您可以将 poweredBy
中间件替换为 disablePoweredBy
.
此外,通过 un-commenting response.set()
方法,您可以设置自己的 header 值。
编辑您的 config/http.js
并将 poweredBy
设置为 false
:
module.exports.http = {
middleware: {
poweredBy: false
}
}
因为 Sails will disable 表达 X-Powered-By header 没有必要手动禁用它。
无需创建新的中间件,可以覆盖Sails.js的poweredBy中间件,例如
module.exports.http = {
middleware: {
poweredBy: function (req, res, next) {
// or uncomment if you want to replace with your own
// res.set('X-Powered-By', "Some Great Company");
return next();
}
}
}
当我 运行 Sails.js 应用程序时,它会自动向每个响应添加以下 HTTP header:X-Powered-By: "Sails <sailsjs.org>"
.
是否可以禁用或覆盖它?
是的,很有可能。
您需要禁用名为 poweredBy
的 Sails 中间件,并告诉 Express.js 服务器不要添加它自己的 header。
只需将您的 config/http.js
配置文件更新为如下所示:
module.exports.http = {
middleware: {
disablePoweredBy: function(request, response, next) {
var expressApp = sails.hooks.http.app;
expressApp.disable('x-powered-by');
// response.set('X-Powered-By', 'One Thousand Hamsters');
next();
},
order: [
// ...
// 'poweredBy',
'disablePoweredBy',
// ...
]
}
};
在这里,我们正在检索 Express Application from Sails hooks and then using it's disable()
方法的实例,以将 x-powered-by
配置参数设置为 false
值。这将阻止 header 出现。
为了启用这个自定义中间件,您需要将它添加到 order
数组中。您可以将 poweredBy
中间件替换为 disablePoweredBy
.
此外,通过 un-commenting response.set()
方法,您可以设置自己的 header 值。
编辑您的 config/http.js
并将 poweredBy
设置为 false
:
module.exports.http = {
middleware: {
poweredBy: false
}
}
因为 Sails will disable 表达 X-Powered-By header 没有必要手动禁用它。
无需创建新的中间件,可以覆盖Sails.js的poweredBy中间件,例如
module.exports.http = {
middleware: {
poweredBy: function (req, res, next) {
// or uncomment if you want to replace with your own
// res.set('X-Powered-By', "Some Great Company");
return next();
}
}
}