内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Nginx的add_header指令實(shí)例分析

本篇內(nèi)容介紹了“Nginx的add_header指令實(shí)例分析”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、漣水網(wǎng)絡(luò)推廣、小程序定制開(kāi)發(fā)、漣水網(wǎng)絡(luò)營(yíng)銷(xiāo)、漣水企業(yè)策劃、漣水品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供漣水建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.rwnh.cn

前言

大家都知道,nginx配置文件通過(guò)使用add_header指令來(lái)設(shè)置response header。

用curl查看一個(gè)站點(diǎn)的信息,發(fā)現(xiàn)返回的頭部與想象中的不一樣:

http/2 200
date: thu, 07 feb 2019 04:26:38 gmt
content-type: text/html; charset=utf-8
vary: accept-encoding, cookie
cache-control: max-age=3, must-revalidate
last-modified: thu, 07 feb 2019 03:54:54 gmt
x-cache: miss
server: cloudflare
...

主站點(diǎn)在nginx.conf中配置了hsts等header:

add_header strict-transport-security "max-age=63072000; preload";
add_header x-frame-options sameorigin;
add_header x-content-type-options nosniff;
add_header x-xss-protection "1; mode=block";

但響應(yīng)頭部沒(méi)有這些header。除了常規(guī)的header,僅出現(xiàn)了一個(gè)配置配置在location中的header x-cache。

第一印象是cdn過(guò)濾了這些header?于是找cloudflare的文檔,沒(méi)發(fā)現(xiàn)會(huì)對(duì)這些進(jìn)行處理。轉(zhuǎn)念一想,cdn過(guò)濾這些干啥???吃飽了撐的?。克麄冇植桓銁heng審那一套!

問(wèn)題轉(zhuǎn)移到nginx的配置上。打開(kāi)google搜索”nginx location add_header”,果然發(fā)現(xiàn)不少槽點(diǎn)。點(diǎn)開(kāi)官網(wǎng)add_header的文檔,有這樣的描述(其他信息已省略):

there could be several add_header directives. these directives are inherited from the previous level if and only if there are no add_header directives defined on the current level.

注意重點(diǎn)在“these directives are inherited from the previous level if and only if there are no add_header directives defined on the current level. ”。即:僅當(dāng)當(dāng)前層級(jí)中沒(méi)有add_header指令才會(huì)繼承父級(jí)設(shè)置。所以我的疑問(wèn)就清晰了:location中有add_header,nginx.conf中的配置被丟棄了。

這是nginx的故意行為,說(shuō)不上是bug或坑。但深入體會(huì)這句話,會(huì)發(fā)現(xiàn)更有意思的現(xiàn)象:僅最近一處的add_header起作用。http、server和location三處均可配置add_header,但起作用的是最接近的配置,往上的配置都會(huì)失效。

但問(wèn)題還不僅于此。如果location中rewrite到另一個(gè)location,最后結(jié)果僅出現(xiàn)第二個(gè)的header。例如:

location /foo1 {
 add_header foo1 1;
 rewrite / /foo2;
}

location /foo2 {
 add_header foo2 1;
 return 200 "ok";
}

不管請(qǐng)求/foo1還是/foo2,最終header只有foo2:

Nginx的add_header指令實(shí)例分析

盡管說(shuō)得通這是正常行為,但總讓人感覺(jué)有點(diǎn)勉強(qiáng)和不舒坦:server丟掉http配置,location丟掉server配置也就算了,但兩個(gè)location在同一層級(jí)??!

不能繼承父級(jí)配置,又不想在當(dāng)前塊重復(fù)指令,解決辦法可以用include指令。

“Nginx的add_header指令實(shí)例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

網(wǎng)站標(biāo)題:Nginx的add_header指令實(shí)例分析
文章出自:http://www.rwnh.cn/article44/jgjjhe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)站改版網(wǎng)站內(nèi)鏈、App設(shè)計(jì)自適應(yīng)網(wǎng)站

廣告

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

成都app開(kāi)發(fā)公司
郓城县| 军事| 禹州市| 威海市| 阳西县| 凌源市| 商丘市| 项城市| 武鸣县| 探索| 华池县| 长春市| 子洲县| 米脂县| 民权县| 安义县| 横峰县| 徐水县| 历史| 井研县| 亚东县| 灌云县| 镇远县| 蛟河市| 余庆县| 江西省| 永昌县| 湖口县| 凤山县| 镇康县| 民县| 临武县| 墨玉县| 井研县| 合阳县| 鸡泽县| 云阳县| 承德市| 扎囊县| 万山特区| 文山县|