如何配置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
如何使用Nginx发布维护公告?

1 前言 一个问题,一篇文章,一出故事。 最近由于需要发布维护公告,想着这种东西以后用得着,于是总结 …

Nginx
如何实现Nginx第一次访问跳转?

1 前言 一个问题,一篇文章,一出故事。 笔者在NextCloud生产环境中需要实现首次登录显示公告 …

Nginx
如何实现Nginx首次访问跳转?

1 前言 一个问题,一篇文章,一出故事。 笔者在NextCloud生产环境中需要实现首次登录显示公告 …