良许Linux教程网 干货合集 修改Nginx配置返回指定content-type的方法详解

修改Nginx配置返回指定content-type的方法详解

nginx作为一个http服务器,在功能实现方面和性能方面都表现的非常优越,下面这篇文章主要给大家介绍了关于修改Nginx配置返回指定content-type的相关资料,需要的朋友可以参考下

image-20221008213156644

一、我们遇到了什么问题?

今天前端的同学向我请教了一个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';
}

怎么样,是不是看起来很简单?但是我就是没有在中文互联网上搜索到有用的答案(也有可能是我搜索的关键字不对),所以在此记录一下,希望对大家有帮助。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部