關(guān)于nginx代理頁面中某些數(shù)據(jù)(css,視頻流)無法加載

最近碰到了nginx代理一個頁面后
proxy_pass http://8.1.1.1:6080/binding.html;
js加載成功,css卻無法加載的問題。

成都創(chuàng)新互聯(lián)公司是專業(yè)的椒江網(wǎng)站建設(shè)公司,椒江接單;提供成都做網(wǎng)站、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行椒江網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

解決辦法:
1.http{}中添加
include /usr/local/openresty/nginx/conf/mime.types;
default_type application/octet-stream;

2.或者修改mime.types中css的type為application/octet-stream;

原因:互聯(lián)網(wǎng)中web服務(wù)器與瀏覽器通訊時,所有數(shù)據(jù)都是需要指定文件類型(type)的,否則瀏覽器不知道用什么插件來處理這些數(shù)據(jù),比如音頻數(shù)據(jù)就要指定mid,.midi audio/midi,audio/x-midi等類型。
而我的服務(wù)器中的css文件在被nginx代理后,nginx找了原來html中對該css文件的type定義:
<link rel="stylesheet" href="css/style.css">
沒有type?。?!
所以就報錯了!nginx不知道用什么編碼方式傳輸這類文件(它是不知道啥css的)
所以定義default_type application/octet-stream 后,nginx不管是什么文件類型,同意按字節(jié)流的類型進行轉(zhuǎn)發(fā),這樣才最后傳輸?shù)娇蛻舳藶g覽器上。

那么問題來了,既然nginx那邊是以字節(jié)流轉(zhuǎn)發(fā)給了瀏覽器,瀏覽器不知道這是css文件,只是一堆字節(jié)流,為什么還能被加載出來?
因為現(xiàn)在主流瀏覽器也能默認識別出css文件的,很多開發(fā)者已經(jīng)習(xí)慣不給css寫這東西了,但是對于很多特殊的數(shù)據(jù)類型,最好還是定義一下。
特別的,像nginx這類的代理,畢竟是輕量級的,沒有瀏覽器那么強大的識別能力,所以,為了考慮兼容性,開發(fā)者還是應(yīng)該嚴謹一點!真的想吐槽!這個問題卡了我整整一個下午!

網(wǎng)頁標題:關(guān)于nginx代理頁面中某些數(shù)據(jù)(css,視頻流)無法加載
網(wǎng)站URL:http://muchs.cn/article40/gedoeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、網(wǎng)站設(shè)計公司、網(wǎng)站制作、網(wǎng)站內(nèi)鏈、軟件開發(fā)Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營