修改Nginx配置返回指定content-type的方法
一、我們遇到了什么問題?
今天前端的同學(xué)向我請教了一個(gè)Nginx服務(wù)配置的問題。我作為組里的底層開發(fā),當(dāng)然是對此類問題還是有信心的??。因?yàn)槲宜较吕飳ginx也是學(xué)習(xí)了一點(diǎn),再不濟(jì)通過豐富的google經(jīng)驗(yàn),解決此類配置問題也是不在話下的O(∩_∩)O。但是問題并沒有我想象的那么簡單,花費(fèi)了我不少時(shí)間( ╯□╰ )。不多廢話了,直接上需求。
Nginx配置中一般根據(jù)conf/mime.types文件中配置來根據(jù)文件擴(kuò)展名(文件擴(kuò)展名對大小寫不敏感)指定響應(yīng)頭中的content-type字段。mime.types文件中主要使用了types配置,如下面配置就表明*.css文件的響應(yīng)頭中conntent-type: text/css
types {
text/css css;
}
但是現(xiàn)在我們不想使用默認(rèn)配置中的types規(guī)則,需要指定css文件返回特定的conntent-type字段(比如加入指定編碼參數(shù)conntent-type: text/css; charset:utf-8),這時(shí)候應(yīng)該如何配置呢?
二、解決方法
走過的彎路(想直接看答案的同學(xué)可以跳過):
- 使用add_header指令,此時(shí)添加了2行conntent-type配置
- 搜索修改HTTP響應(yīng)頭,需要添加headers-more-nginx-module
最后還是通過Nginx官方文檔找到了好的解決方案(http://nginx.org/en/docs/http/ngx_http_core_module.html#types)
要指定某個(gè)location塊對所有的請求返回相同的MIME類型"application/octet-stream",以下配置可以被使用:
location /download/ {
types { }
default_type application/octet-stream;
}
簡要分析以下以上兩行指令做了什么,第一行指令設(shè)置types配置為空(相當(dāng)于取消了默認(rèn)的types配置),第二行指令就簡單了指定了default_type。有了以上2行配置,那么我們就可以使用location塊的正則匹配功能指定css文件返回指定content-type了。
location ~ .*\.css$ {
types { } default_type 'text/css; charset:utf-8';
}
怎么樣,是不是看起來很簡單?但是我就是沒有在中文互聯(lián)網(wǎng)上搜索到有用的答案(也有可能是我搜索的關(guān)鍵字不對),所以在此記錄一下,希望對大家有幫助。
總結(jié)
到此這篇關(guān)于修改Nginx配置返回指定content-type的文章就介紹到這了,更多相關(guān)Nginx返回指定content-type內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx配置SSL證書實(shí)現(xiàn)https服務(wù)的方法
這篇文章主要介紹了nginx配置SSL證書實(shí)現(xiàn)https服務(wù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05
Nginx部署項(xiàng)目上傳文件報(bào)錯(cuò)413的解決方法
本文主要介紹了Nginx部署項(xiàng)目上傳文件報(bào)錯(cuò)413的解決方法,報(bào)錯(cuò)413是因?yàn)镹ginx對上傳大小做了限制,所以我們需要配置文件,下面就來解決這個(gè)問題,感興趣的可以了解一下2024-03-03
Nginx服務(wù)器作反向代理實(shí)現(xiàn)內(nèi)部局域網(wǎng)的url轉(zhuǎn)發(fā)配置
nginx支持codeigniter的pathinfo模式url重寫配置寫法示例
Ubuntu環(huán)境下安裝部署Nginx詳細(xì)步驟(有網(wǎng))

