修改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优化服务之网页压缩的实现方法
Mar 31 Servers
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
Feb 12 Servers
iSCSI服务器CHAP双向认证配置
Apr 01 Servers
Apache Hudi 加速传统的批处理模式
Apr 24 Servers
如何开启Apache,Nginx和IIS服务器的GZIP压缩功能
Apr 29 Servers
Nginx 常用配置
May 15 Servers
Win Server2016远程桌面如何允许多用户同时登录
Jun 10 Servers
vscode内网访问服务器的方法
Jun 28 Servers
Docker安装MySql8并远程访问的实现
Jul 07 Servers
Nginx如何获取自定义请求header头和URL参数详解
Jul 23 Servers
windows server2012 R2下安装PaddleOCR服务的的详细步骤
Sep 23 Servers
CentOS7 minimal 最小化安装网络设置过程
Dec 24 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
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
分享一个asp.net pager分页控件
2012/01/04 Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
2013/04/20 Javascript
在子窗口中关闭父窗口的一句代码
2013/10/21 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
javascript框架设计读书笔记之模块加载系统
2014/12/02 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
2015/11/30 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
Ext JS 实现建议词模糊动态搜索功能
2017/05/13 Javascript
JavaScript正则表达式校验与递归函数实际应用实例解析
2017/08/04 Javascript
bootstrap时间控件daterangepicker使用方法及各种小bug修复
2017/10/25 Javascript
小程序实现页面顶部选项卡效果
2018/11/06 Javascript
微信小程序 bindtap 传参的实例代码
2020/02/21 Javascript
在vue项目中 实现定义全局变量 全局函数操作
2020/10/26 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
python中from module import * 的一个坑
2014/07/20 Python
在Python中实现贪婪排名算法的教程
2015/04/17 Python
Python lxml模块安装教程
2015/06/02 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
2018/10/15 Python
python设计微型小说网站(基于Django+Bootstrap框架)
2019/07/08 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
2019/08/20 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
Python是怎样处理json模块的
2020/07/16 Python
python 实现aes256加密
2020/11/27 Python
日本最大的旅游网站:Rakuten Travel(乐天旅游)
2018/08/02 全球购物
北承题目(C++)
2012/05/16 面试题
软件测试英文面试题
2012/10/14 面试题
活动总结怎么写啊
2014/05/07 职场文书
博士给导师的自荐信
2015/03/06 职场文书
年会邀请函的格式及范文五篇
2019/11/02 职场文书
基于Pygame实现简单的贪吃蛇游戏
2021/12/06 Python
python中出现invalid syntax报错的几种原因分析
2022/02/12 Python