修改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 比 Apache 更牛逼
Mar 31 Servers
Nginx开启Brotli压缩算法实现过程详解
Mar 31 Servers
Mac环境Nginx配置和访问本地静态资源的实现
Mar 31 Servers
Nginx反爬虫策略,防止UA抓取网站
Mar 31 Servers
Nginx实现高可用集群构建(Keepalived+Haproxy+Nginx)
May 27 Servers
Nginx的基本概念和原理
Mar 21 Servers
Nginx动静分离配置实现与说明
Apr 07 Servers
讨论nginx location 顺序问题
May 30 Servers
ubuntu下常用apt命令介绍
Jun 05 Servers
CentOS7环境下MySQL8常用命令小结
Jun 10 Servers
Windows Server 2016服务器用户管理及远程授权图文教程
Aug 14 Servers
Fluentd搭建日志收集服务
Sep 23 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
[转帖]PHP世纪万年历
2006/12/06 PHP
php下保存远程图片到本地的办法
2010/08/08 PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
2012/01/11 PHP
php实现把数组按指定的个数分隔
2014/02/17 PHP
Thinkphp中的volist标签用法简介
2014/06/18 PHP
php实现图片文件与下载文件防盗链的方法
2014/11/03 PHP
php获取指定日期之间的各个周和月的起止时间
2014/11/24 PHP
ThinkPHP中order()使用方法详解
2016/04/19 PHP
如何用javascript控制上传文件的大小
2006/10/26 Javascript
用JavaScript事件串连执行多个处理过程的方法
2007/03/09 Javascript
跨域请求之jQuery的ajax jsonp的使用解惑
2011/10/09 Javascript
Jquery实现图片预加载与延时加载的方法
2014/12/22 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
js中不同的height, top的区别对比
2015/09/24 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
javascript实现可键盘控制的抽奖系统
2016/03/10 Javascript
JavaScript中点击事件的写法
2016/06/28 Javascript
JS判断iframe是否加载完成的方法
2016/08/03 Javascript
js基础之DOM中元素对象的属性方法详解
2016/10/28 Javascript
微信小程序 wxapp视图容器 view详解
2016/10/31 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
2017/02/09 Javascript
Javascript 严格模式use strict详解
2017/09/16 Javascript
Vux+Axios拦截器增加loading的问题及实现方法
2018/11/08 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
2019/01/27 jQuery
Vue中的nextTick作用和几个简单的使用场景
2021/01/25 Vue.js
[02:42]DOTA2城市挑战赛收官在即 四强之争风起云涌
2018/06/05 DOTA
python里对list中的整数求平均并排序
2014/09/12 Python
numpy使用fromstring创建矩阵的实例
2018/06/15 Python
pandas的相关系数与协方差实例
2019/12/27 Python
Keras load_model 导入错误的解决方式
2020/06/09 Python
用CSS3绘制三角形的简单方法
2015/07/17 HTML / CSS
2014年小学美术工作总结
2014/12/20 职场文书
2015年保卫科工作总结
2015/05/14 职场文书
医院病假条范文
2015/08/17 职场文书
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android