我在节点4.4.3中使用express4.x. Web服务器是Nginx,我正在node中运行一个http服务器模块-为此,我使用Nginx作为反向代理(使用“上游”).在浏览器控制台中查看它时,我看到以下响应标头
x-content-type-options: nosniff
我已经彻底检查了我的Nginx conf文件中的此设置/标头,但它不存在.想知道我是否可以从中得到一些指示?当我添加add_header X-Content-Type-Options nosniff时;在Nginx.conf中,然后我看到以上内容在响应标头中出现了两次,如下所示
X-Content-Type-Options:nosniff
X-Content-Type-Options:nosniff
不知道是什么原因造成的.请让我知道是否需要进一步的信息.谢谢
最佳答案
这可能来自快速应用程序中安装的软件包.您应该检查package.json文件.查找列出所有已安装软件包的依赖项部分.
Helmet通常是添加X-Content-Type-Options:nosniff标头的软件包之一.
编辑:根据依赖性列表,最可能的解决方案是使用Express返回“ jsonp”内容.在这种情况下,当用户未设置Content-Type标头时,Express将添加X-Content-Type-Options标头(请参阅node_modules / express / lib中第289行的response.js文件).
它也可能来自Express使用的一个或另一个依赖项,例如“ finalhandler”,“ send”或“ serve-static”(有关Express的依赖项列表,请参见there),但是如果不调试整个应用程序就很难确定.