修改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搭建rtmp直播服务器实现代码
Mar 31 Servers
nginx location优先级的深入讲解
Mar 31 Servers
apache基于端口创建虚拟主机的示例
Apr 24 Servers
关于nginx 实现jira反向代理的问题
Sep 25 Servers
NGINX 权限控制文件预览和下载的实现原理
Jan 18 Servers
Nginx图片服务器配置之后图片访问404的问题解决
Mar 21 Servers
详解使用内网穿透工具Ngrok代理本地服务
Mar 31 Servers
Tomcat项目启动失败的原因和解决办法
Apr 20 Servers
阿里云ECS云服务器快照的概念以及如何使用
Apr 21 Servers
nginx日志格式分析和修改
Apr 28 Servers
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
May 25 Servers
Ubuntu安装Mysql+启用远程连接的完整过程
Jun 21 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
关于Intype一些小问题的解决办法
2008/03/28 PHP
PHP 采集获取指定网址的内容
2010/01/05 PHP
php URL验证正则表达式
2011/07/19 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
php静态文件返回304技巧分享
2015/01/06 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
2016/03/22 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
JavaScript 异步调用框架 (Part 3 - 代码实现)
2009/08/04 Javascript
在模板页面的js使用办法
2010/04/01 Javascript
jquery模拟LCD 时钟的html文件源代码
2014/06/16 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
详解JavaScript ES6中的模板字符串
2015/07/28 Javascript
Jquery实现顶部弹出框特效
2015/08/08 Javascript
js解决movebox移动问题
2016/03/29 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
JavaScript严格模式下关于this的几种指向详解
2017/07/12 Javascript
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
vue 权限认证token的实现方法
2018/07/17 Javascript
React 使用Hooks简化受控组件的状态绑定
2019/03/18 Javascript
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
Python数据结构与算法之列表(链表,linked list)简单实现
2017/10/30 Python
python之DataFrame实现excel合并单元格
2021/02/22 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
Python爬虫与反爬虫大战
2020/07/30 Python
推荐10个CSS3 制作的创意下拉菜单效果
2014/02/11 HTML / CSS
Deichmann英国:德国鞋类零售商
2021/01/30 全球购物
项目施工员岗位职责
2014/03/09 职场文书
师范大学生求职信
2014/06/13 职场文书
乡镇镇长个人整改措施
2014/10/01 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
千与千寻观后感
2015/06/04 职场文书
粗暴解决CUDA out of memory的问题
2021/05/22 Python