修改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访问的网站改成https访问
Mar 31 Servers
nginx网站服务如何配置防盗链(推荐)
Mar 31 Servers
Linux中Nginx的防盗链和优化的实现代码
Jun 20 Servers
docker-compose部署Yapi的方法
Apr 08 Servers
Nginx反向代理、重定向
Apr 13 Servers
nginx搭建NFS网络文件系统
Apr 14 Servers
Nginx 匹配方式
May 15 Servers
Win Server2016远程桌面如何允许多用户同时登录
Jun 10 Servers
Docker与K8s关系介绍不会Docker也可以使用K8s
Jun 25 Servers
nginx七层负载均衡配置详解
Jul 15 Servers
Nginx代理Redis哨兵主从配置的实现
Jul 15 Servers
Nginx跨域问题解析与解决
Aug 05 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 array_slice函数的使用以及参数详解
2008/08/30 PHP
php skymvc 一款轻量、简单的php
2011/06/28 PHP
PHP正则获取页面所有图片地址
2016/03/23 PHP
asp.net和asp下ACCESS的参数化查询
2008/06/11 Javascript
Javascript 函数对象的多重身份
2009/06/28 Javascript
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
数组Array进行原型prototype扩展后带来的for in遍历问题
2010/02/07 Javascript
代码触发js事件(click、change)示例应用
2013/12/13 Javascript
javascript 判断两个日期之差的示例代码
2015/09/05 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
2015/12/14 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
2016/10/24 Javascript
实现JavaScript高性能的数据存储
2016/12/11 Javascript
利用JS判断鼠标移入元素的方向
2016/12/11 Javascript
详解angularjs实现echart图表效果最简洁教程
2017/11/29 Javascript
vue2.0使用swiper组件实现轮播的示例代码
2018/03/03 Javascript
微信小程序时间控件picker view使用详解
2018/12/28 Javascript
Vue 实现手动刷新组件的方法
2019/02/19 Javascript
小程序多图列表实现性能优化的方法步骤
2019/05/28 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
2020/04/26 Javascript
使用Python对Excel进行读写操作
2017/03/30 Python
PowerBI和Python关于数据分析的对比
2019/07/11 Python
PyTorch安装与基本使用详解
2020/08/31 Python
CSS3 简单又实用的5个属性
2010/03/04 HTML / CSS
美国男士内衣品牌:Tommy John
2017/12/22 全球购物
澳大利亚优质葡萄酒专家:Vintage Cellars
2019/01/08 全球购物
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
TCP协议通讯的过程和步骤是什么
2015/10/18 面试题
运动会入场解说词300字
2014/01/25 职场文书
买房委托公证书
2014/04/08 职场文书
社区活动总结报告
2014/05/05 职场文书
2015年大学团支部工作总结
2015/05/13 职场文书
《植物妈妈有办法》教学反思
2016/02/23 职场文书
Python各协议下socket黏包问题原理
2022/04/12 Python
MySQL数据库中的锁、解锁以及删除事务
2022/05/06 MySQL
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android