修改Nginx配置返回指定content-type的方法


Posted in Servers onSeptember 23, 2022

一、我们遇到了什么问题?

今天前端的同学向我请教了一个Nginx服务配置的问题。我作为组里的底层开发,当然是对此类问题还是有信心的?。因为我私下里对Nginx也是学习了一点,再不济通过丰富的google经验,解决此类配置问题也是不在话下的O(∩_∩)O。但是问题并没有我想象的那么简单,花费了我不少时间( ╯□╰ )。不多废话了,直接上需求。

Nginx配置中一般根据conf/mime.types文件中配置来根据文件扩展名(文件扩展名对大小写不敏感)指定响应头中的content-type字段。mime.types文件中主要使用了types配置,如下面配置就表明*.css文件的响应头中conntent-type: text/css

types {
    text/css                                         css;
}

但是现在我们不想使用默认配置中的types规则,需要指定css文件返回特定的conntent-type字段(比如加入指定编码参数conntent-type: text/css; charset:utf-8),这时候应该如何配置呢?

二、解决方法

走过的弯路(想直接看答案的同学可以跳过):

  • 使用add_header指令,此时添加了2行conntent-type配置
  • 搜索修改HTTP响应头,需要添加headers-more-nginx-module

最后还是通过Nginx官方文档找到了好的解决方案(http://nginx.org/en/docs/http/ngx_http_core_module.html#types)

要指定某个location块对所有的请求返回相同的MIME类型"application/octet-stream",以下配置可以被使用:

location /download/ {
    types        { }
    default_type application/octet-stream;
}

简要分析以下以上两行指令做了什么,第一行指令设置types配置为空(相当于取消了默认的types配置),第二行指令就简单了指定了default_type。有了以上2行配置,那么我们就可以使用location块的正则匹配功能指定css文件返回指定content-type了。

location ~ .*\.css$ {
     types { } default_type 'text/css; charset:utf-8';
}

怎么样,是不是看起来很简单?但是我就是没有在中文互联网上搜索到有用的答案(也有可能是我搜索的关键字不对),所以在此记录一下,希望对大家有帮助。

总结

到此这篇关于修改Nginx配置返回指定content-type的文章就介绍到这了,更多相关Nginx返回指定content-type内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
nginx处理http请求实现过程解析
Mar 31 Servers
nginx基于域名,端口,不同IP的虚拟主机设置的实现
Mar 31 Servers
查看nginx配置文件路径和资源文件路径的方法
Mar 31 Servers
nginx配置虚拟主机的详细步骤
Jul 21 Servers
Nginx的基本概念和原理
Mar 21 Servers
基于Apache Hudi在Google云构建数据湖平台的思路详解
Apr 07 Servers
项目中Nginx多级代理是如何获取客户端的真实IP地址
May 30 Servers
winserver2019安装软件一直卡在应用程序正在为首次使用做准备
Jun 10 Servers
Apache POI操作批量导入MySQL数据库
Jun 21 Servers
nginx之queue的具体使用
Jun 28 Servers
如何让你的Nginx支持分布式追踪详解
Jul 07 Servers
Windows Server 2016服务器用户管理及远程授权图文教程
Aug 14 Servers
Nginx如何配置多个服务域名解析共用80端口详解
Sep 23 #Servers
VMware虚拟机安装 Windows Server 2022的详细图文教程
zabbix如何添加监控主机和自定义监控项
Aug 14 #Servers
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
Aug 14 #Servers
nginx配置指令之server_name的具体使用
Aug 14 #Servers
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
Windows server 2016服务器基本设置
You might like
我的群发邮件程序
2006/10/09 PHP
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
2011/08/23 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
2014/10/30 PHP
一个完整的php文件上传类实例讲解
2015/10/27 PHP
php检查页面是否被百度收录
2015/10/28 PHP
php微信公众号开发(3)php实现简单微信文本通讯
2016/12/15 PHP
Jquery 弹出层插件实现代码
2009/10/24 Javascript
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
html a标签-超链接中confirm方法使用介绍
2013/01/04 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
jQuery实现的仿select功能代码
2015/08/19 Javascript
JQuery给select添加/删除节点的实现代码
2016/04/26 Javascript
VUEJS实战之修复错误并且美化时间(2)
2016/06/13 Javascript
在node中如何使用 ES6
2017/04/22 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
jQuery easyui datagird编辑行删除行功能的实现代码
2018/09/20 jQuery
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
Vue-Cli项目优化操作的实现
2019/10/27 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python base64 decode incorrect padding错误解决方法
2015/01/08 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
2019/06/21 Python
python简单区块链模拟详解
2019/07/03 Python
快速了解Python开发环境Spyder
2020/06/29 Python
详解Python中的路径问题
2020/09/02 Python
python字典按照value排序方法
2020/12/28 Python
CSS3属性选择符介绍
2008/10/17 HTML / CSS
Zooplus葡萄牙:欧洲领先的网上宠物商店
2018/07/01 全球购物
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
EJB的角色和三个对象
2015/12/31 面试题
财务工作个人求职的自我评价
2013/12/19 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
地陪导游欢迎词
2015/01/26 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
关于React Native使用axios进行网络请求的方法
2021/08/02 Javascript