修改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 多个location转发任意请求或访问静态资源文件的实现
Mar 31 Servers
win10安装配置nginx的过程
Mar 31 Servers
Mac环境Nginx配置和访问本地静态资源的实现
Mar 31 Servers
解析在浏览器地址栏输入一个URL后发生了什么
Jun 21 Servers
Rhit高效可视化Nginx日志查看工具
Nov 01 Servers
Nginx速查手册及常见问题
Apr 07 Servers
Windows server 2012 配置Telnet以及用法详解
Apr 28 Servers
tomcat正常启动但网页却无法访问的几种解决方法
May 06 Servers
在容器中使用nginx搭建上传下载服务器
May 11 Servers
Docker部署Mysql8的实现步骤
Jul 07 Servers
Apache自带的ab压力测试工具的实现
Jul 23 Servers
Win10系统搭建ftp文件服务器详细教程
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 开发环境配置(测试开发环境)
2010/04/28 PHP
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
PHP __autoload()方法真的影响性能吗?
2012/03/30 PHP
网页的分页下标生成代码(PHP后端方法)
2016/02/03 PHP
PHP之十六个魔术方法详细介绍
2016/11/01 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
2007/01/09 Javascript
超清晰的document对象详解
2007/02/27 Javascript
jQuery EasyUI NumberBox(数字框)的用法
2010/07/08 Javascript
在次封装easyui-Dialog插件实现代码
2010/11/14 Javascript
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
jQuery中outerHeight()方法用法实例
2015/01/19 Javascript
JS获得多个同name 的input输入框的值的实现方法
2017/01/09 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
es6学习笔记之Async函数的使用示例
2017/05/11 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
React中jquery引用的实现方法
2017/09/12 jQuery
解决vue 按钮多次点击重复提交数据问题
2018/05/10 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
layui的table中显示图片方法
2018/08/17 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
微信小程序使用scroll-view标签实现自动滑动到底部功能的实例代码
2018/11/09 Javascript
小程序如何使用分包加载的实现方法
2019/05/22 Javascript
Python中你应该知道的一些内置函数
2017/03/31 Python
推荐10款最受Python开发者欢迎的Python IDE
2018/09/16 Python
使用Python的SymPy库解决数学运算问题的方法
2019/03/27 Python
使用python接入微信聊天机器人
2020/03/31 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
Python 获取命令行参数内容及参数个数的实例
2019/12/20 Python
关于Pytorch MaxUnpool2d中size操作方式
2020/01/03 Python
python pprint模块中print()和pprint()两者的区别
2020/02/10 Python
Jupyter notebook 启动闪退问题的解决
2020/04/13 Python
工程项目合作意向书
2015/05/08 职场文书
goland设置颜色和字体的操作
2021/05/05 Golang