修改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 相关文章推荐
Apache站点配置SSL强制跳转443
Mar 09 Servers
nginx处理http请求实现过程解析
Mar 31 Servers
Nginx虚拟主机的搭建的实现步骤
Jan 18 Servers
关于Nginx中虚拟主机的一些冷门知识小结
Mar 03 Servers
Nginx实现会话保持的两种方式
Mar 18 Servers
Nginx虚拟主机的配置步骤过程全解
Mar 31 Servers
基于Apache Hudi在Google云构建数据湖平台的思路详解
Apr 07 Servers
Windows server 2012 配置Telnet以及用法详解
Apr 28 Servers
Vscode中SSH插件如何远程连接Linux
May 02 Servers
Nginx跨域问题解析与解决
Aug 05 Servers
VMware虚拟机安装 Windows Server 2022的详细图文教程
Sep 23 Servers
Valheim服务器 Mod修改安装教程 【ValheimPlus】
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
PHP header函数分析详解
2011/08/06 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
phpstorm配置Xdebug进行调试PHP教程
2014/12/01 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
2015/08/16 PHP
Yii2单元测试用法示例
2016/11/12 PHP
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
JavaScript 开发工具webstrom使用指南
2014/12/09 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
2015/05/09 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
详解vue 自定义marquee无缝滚动组件
2019/04/09 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
Jquery让form表单异步提交代码实现
2019/11/14 jQuery
Vue中axios拦截器如何单独配置token
2019/12/27 Javascript
Vant Weapp组件踩坑:picker的初始赋值解决
2020/11/12 Javascript
解决已经安装requests,却依然提示No module named requests问题
2018/05/18 Python
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
2018/07/25 Python
python使用插值法画出平滑曲线
2018/12/15 Python
pandas中的series数据类型详解
2019/07/06 Python
Python通用唯一标识符uuid模块使用案例
2020/09/10 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
社区学雷锋活动策划方案
2014/01/30 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
纪念九一八爱国演讲稿600字
2014/09/14 职场文书
银行业务授权委托书
2014/10/10 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书
今日说法观后感
2015/06/08 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书
七年级数学教学反思
2016/02/17 职场文书
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS