如何配置Nginx的X-Content-Type-Options响应标头?

Nginx

1 基础知识

– HTML资源类型众多,浏览器会凭响应头“Content-Type”来辨类型,如“text/html”或“image/png”
– 当有些资源的“Content-Type”未定义或错定,某些浏览器会用MIME-sniffing解析类型后执行
– 利用此特性攻击者可以让原本解析为图片的请求被解析为JavaScript
– 因此需使用“X-Content-Type-Options: nosniff”的响应头定义禁止类浏览器的猜测行为
– 如服务有“X-Content-Type-Options: nosniff”声明,则浏览器会拒绝执行不明确的MIME类型

2 最佳实践

2.1 加入替换代码

vim /etc/nginx/conf.d/www.cmdschool.org.conf

加入如下配置,

server {
    #...
    proxy_hide_header X-Content-Type-Options;
    add_header X-Content-Type-Options "nosniff" always;
    #...
}

增加配置后,你需要重载服务使配置生效,

systemctl reload nginx.service

2.2 确认配置

curl -I https://www.cmdschool.org

可见如下显示,

#...
X-Content-Type-Options nosniff always
#...

参阅文档
=============
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Content-Type-Options
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options
https://cloud.tencent.com/developer/section/1190027
https://www.cnblogs.com/lizm166/p/12627190.html

没有评论

发表回复

Nginx
如何解决https请求不安全http页被阻止问题?

1 前言 一个问题,一篇文章,一出故事。 笔者最近代理公司应用,发现https的页面有请求不安全的h …

Nginx
如何Nginx代理上游的子项目或文件夹?

1 前言 一个问题,一篇文章,一出故事。 笔者接到任务需要把Tomcat的其中一个应用号使用Ngin …

Nginx
如何安装部署RHEL 9 Nignx?

1 前言 一个问题,一篇文章,一出故事。 笔者需要基于RHEL 9部署Nginx环境,于是整理此文。 …