x-content-type-options在哪里:nosniff来自哪里?

时间:2016-05-11 17:26:16

标签: node.js express nginx

我在节点4.4.3中使用express 4.x. Web服务器是nginx,我在节点中运行一个http服务器模块 - 我正在使用nginx作为反向代理(使用' upstream')。当我在浏览器控制台中检查它时,我看到下面的响应标题

x-content-type-options: nosniff

我已经彻底检查了我的nginx conf文件以获取此设置/标题,但它并不存在。不知道我是否可以得到一些关于它可能来自哪里的指示?当我在nginx.conf中添加add_header X-Content-Type-Options nosniff;时,我看到上面的响应标题中出现了两次,如下所示

X-Content-Type-Options:nosniff
X-Content-Type-Options:nosniff

不知道是什么引起了这种情况。如果需要任何进一步的信息,请告诉我。感谢

这是我的节点安装的模块文件夹内容

enter image description here

1 个答案:

答案 0 :(得分:3)

这可能来自您的快速应用程序中安装的软件包。您应该检查package.json文件。查找列出所有已安装软件包的dependencies部分。

Helmet通常是添加X-Content-Type-Options:nosniff标头的其中一个软件包。

编辑:根据您的依赖项列表,最可能的解决方案是您返回' jsonp'快递的内容。在这种情况下,当用户没有设置X-Content-Type-Options标头时,Express将添加Content-Type标头(请参阅node_modules / express / lib中第289行的response.js文件)。 它也可能来自Express使用的一个或另一个依赖,例如' finalhandler'发送'或者' serve-static' (有关Express'依赖列表的信息,请参阅there),但如果不调试整个应用程序,很难确定。