国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Nginx 中常見 header 配置及修改

這篇具有很好參考價值的文章主要介紹了Nginx 中常見 header 配置及修改。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在 nginx 中,經(jīng)常需要因為各種原因,修改 header,所以今天整理下 nginx 中 header 的一些指令

header 是 http 中的消息頭,里面包含很多信息,通常又分為 request headers(請求頭)和 response headers(響應(yīng)頭)

客戶端向服務(wù)器發(fā)送的請求中包含請求頭,服務(wù)器向客戶端回復(fù)的響應(yīng)中包含響應(yīng)頭,消息頭通常是以冒號分隔的鍵值對

Nginx 中常見 header 配置及修改

在 nginx 中有 headers 模塊,其中有三條指令,分別是:

  • add_header

  • add_trailer

  • expires

expires 就不用多說了,用來控制緩存時間的,證書就是緩存的時間,0 或負數(shù)就是緩存無效

add_trailer 和 add_header 一樣的效果,都是在 headers 中添加字段,不過 trailer 是添加到響應(yīng)頭的末尾

nginx 中通常就通過這三個控制 response 的 headers 信息

另外涉及到 headers 修改的指令,通常是在反向代理的時候,也就是 proxy_pass 的時候,有以下幾個指令可以操作 header

  • proxy_set_header

  • proxy_ignore_headers

  • proxy_pass_header

  • proxy_hide_header

  • proxy_pass_request_headers

proxy_set_header 通常用的最多,可以在提交給上游服務(wù)器的 header 中添加或重寫 header,比如通常用到的,反向代理的時候,添加客戶端 IP、XFF 等字段

Nginx 中常見 header 配置及修改

proxy_ignore_headers 通常用來禁用上游服務(wù)器的某些響應(yīng)字段,如:

  • X-Accel-Expires

  • Expires

  • Cache-Control

  • Set-Cookie

  • Vary

  • X-Accel-Redirect

  • X-Accel-Limit-Rate

  • X-Accel-Buffering

  • X-Accel-Charset

不過根據(jù)測試發(fā)現(xiàn),根本不起任何作用,寫了個簡單的 php 腳本,用 proxy_pass 代理,在 php 中用 header 寫 Expires 字段

Nginx 中常見 header 配置及修改

訪問查看 response headers

Nginx 中常見 header 配置及修改

接著,用 proxy_ignore_headers 忽略掉 Expires 字段,再次請求看下效果

Nginx 中常見 header 配置及修改

Nginx 中常見 header 配置及修改

沒有任何效果,開始以為是在 php 中寫不行,寫到上游 nginx 配置中嘗試

Nginx 中常見 header 配置及修改

訪問測試,仍然沒有忽略掉

Nginx 中常見 header 配置及修改

生效的,仍然是后端的 expires,從官方以及網(wǎng)上看到的文章,我理解,都是忽略上游設(shè)置的 Expires

不過 proxy_hide_header 可以將上游響應(yīng)中的 header 中的字段忽略掉

Nginx 中常見 header 配置及修改

請求如下:

Nginx 中常見 header 配置及修改

proxy_pass_header 正好和 proxy_hide_header 相反,有些 header 字段 nginx 默認不會響應(yīng)到代理,nginx 官方文檔中舉例說 Date、Server、X-Pad、X-Accel 等字段,測試,同樣在 php 中設(shè)置 Server

Nginx 中常見 header 配置及修改

在 nginx 中設(shè)置 proxy_pass_header Server

Nginx 中常見 header 配置及修改

proxy_pass_request_headers 則是控制客戶端 request 的 header,是否傳遞到上游服務(wù)器,默認是開啟的,也就是客戶端請求攜帶的 header,都會被轉(zhuǎn)發(fā)到上游服務(wù)器,還是拿 php 腳本來獲取 request_header 信息

Nginx 中常見 header 配置及修改

查看訪問結(jié)果:

在 nginx 中關(guān)閉 proxy_pass_request_headers

Nginx 中常見 header 配置及修改

再次獲取訪問結(jié)果

Nginx 中常見 header 配置及修改

以上就是 nginx 自帶的調(diào)整,設(shè)置 header 的一些指令,通常調(diào)整 header 最常見的幾個場景:

  • 通過 add_header 添加允許跨域

  • 通過 header 頭,設(shè)置緩存生效時間

  • 通過添加自定義 header,做灰度

  • 反向代理,將自定義字段傳遞到后端,特別 xff 獲取真實客戶端 IP

除了自帶的 headers 模塊,也可以安裝第三方的 headers-more 模塊,對應(yīng) headers 的控制更全面,更方便,headers-more 是 openresty 的一個模塊,openresty 就自帶了,nginx 的話,需要編譯添加動態(tài)模塊

headers-more 模塊下載地址:GitHub - openresty/headers-more-nginx-module: Set, add, and clear arbitrary output headers in NGINX http servers

下載好之后編輯添加

Nginx 中常見 header 配置及修改

通過 make modules,編譯動態(tài)模塊文件,生成在 objs 目錄下,將.so 文件復(fù)制到 modules 目錄下,在 nginx 配置文件中通過 load_modules 加載

Nginx 中常見 header 配置及修改

這樣 headers-more 模塊就添加好了

該模塊主要有 4 個指令:

  • more_set_headers 用于添加、修改、清除響應(yīng)頭

  • more_clear_headers 用于清除響應(yīng)頭

  • more_set_input_headers 用于添加、修改、清除請求頭

  • more_clear_input_headers 用于清除請求頭

headers-more 相比 nginx 自帶的 headers,處理 headers 更方便,更靈活,所以,如果有 nginx 自帶 headers 模塊滿足不了的需求,可以添加 headers-more 模塊文章來源地址http://www.zghlxwxcb.cn/news/detail-451736.html

到了這里,關(guān)于Nginx 中常見 header 配置及修改的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • nginx修改配置文件不生效

    nginx修改配置文件不生效

    由于需要向其他公司的數(shù)據(jù)庫中推送數(shù)據(jù),但是對方公司的服務(wù)器只針對某一臺服務(wù)器開放了端口,公司的datax部署在另外一臺服務(wù)器中,導(dǎo)致不能正常連接數(shù)據(jù)庫。因此做了nginx,進行兩次代理,但是對方服務(wù)器突然出問題,導(dǎo)致更改了數(shù)據(jù)庫的端口,我方公司在進行推送數(shù)

    2024年02月12日
    瀏覽(16)
  • Nginx使用場景&&Nginx基礎(chǔ)&&Nginx的負載均衡策略&&Nginx配置文件&&Nginx+Tomcat集群示例&&Nginx部署靜態(tài)網(wǎng)站&&根據(jù)Tomcat容器實際IP修改Nginx配置

    Nginx使用場景&&Nginx基礎(chǔ)&&Nginx的負載均衡策略&&Nginx配置文件&&Nginx+Tomcat集群示例&&Nginx部署靜態(tài)網(wǎng)站&&根據(jù)Tomcat容器實際IP修改Nginx配置

    目錄 1. Nginx使用場景 2. Nginx中的進程 2.1 Nginx中的多進程模型 2.2 多進程模式的優(yōu)點: 2.3 緩存 3. Ngnix的負載均衡策略 3.1 輪詢法 3.2 加權(quán)輪詢 3.3 原地址哈希 3.4 最小連接數(shù)法 3.5 Fair 3.6 url_hash 3. Nginx配置文件 4. Nginx+tomcat 集群示例 4.1 下載鏡像 4.2 在宿主機中創(chuàng)建需要掛載的目錄

    2024年02月04日
    瀏覽(19)
  • 超實用 nginx 中常見的配置合集

    通過 deny 可以封禁指定 IP 需要先禁止 192.168.1.1 開放其他內(nèi)網(wǎng)網(wǎng)段,然后禁止其他所有 IP 需要在 nginx.conf 中配置轉(zhuǎn)發(fā)服務(wù)器信息 權(quán)重: weight=1 ,權(quán)重如果分配的值越大,權(quán)重越高 最大連接數(shù): max_fails=3 ,最多連接失敗次數(shù)為3次 連接失敗時間: fail_timeout=20s ,每次連接失敗

    2024年02月22日
    瀏覽(38)
  • Linux中如何修改nginx的nginx.conf配置文件,并刷新生效?

    Linux中如何修改nginx的nginx.conf配置文件,并刷新生效?

    ?1、進入nginx的conf目錄(按照自己實際的路徑來) 2、 可以先查看當前配置文件內(nèi)容 3、回車查看更多 4、vim進入修改文件 5、修改之后 按 Esc 鍵退出,輸入 :wq 保存退出 6、執(zhí)行?./sbin/nginx -t命令測試nginx.conf文件是否合法 ?7、重啟nginx 殺掉進程,重啟nginx,實現(xiàn)重啟nginx服務(wù)

    2024年02月16日
    瀏覽(28)
  • ansible 修改遠程主機nginx配置文件

    ansible 修改遠程主機nginx配置文件

    設(shè)置秘鑰 ? ansible添加主機 ansible測試一下 ping功能 sudo ansible 192.168.1.10 -m ping? ?測試傳送文件到B機 整體目標: 在本機修改好nginx配置文件,并批量更新到目標主機。 分解目標是 1.拷貝文件? ?2. 重啟服務(wù)? ? 給所有的目標主機的nginx的配置文件末尾都添加如下: 在ansible的主

    2024年02月12日
    瀏覽(45)
  • PHP+Nginx經(jīng)常出現(xiàn)502、504原因與解決方法

    PHP+Nginx經(jīng)常出現(xiàn)502、504原因與解決方法

    很多新手剛開始做網(wǎng)站可能感覺不到502,504的問題,當?shù)饶憔W(wǎng)站到達了一定水平的時候,流量起來的時候,你會發(fā)現(xiàn)經(jīng)常會遇到502、504類似的問題。 502 Bad Gateway:作為網(wǎng)關(guān)或者代理工作的服務(wù)器嘗試執(zhí)行請求時,從上游服務(wù)器接收到無效的響應(yīng)。 將請求提交給網(wǎng)關(guān)如php-fpm執(zhí)

    2024年02月15日
    瀏覽(27)
  • docker 安裝啟動 nginx 修改配置資源容器端口

    docker 安裝啟動 nginx 修改配置資源容器端口

    可以先查看docker下是否存在nginx鏡像,使用如下這些命令查看: docker images: 列出所有鏡像。 docker images nginx: 列出所有nginx鏡像,不同版本等等。 docker search nginx: 搜索查看所有nginx鏡像信息。 使用 pull 命令拉取nginx鏡像: 出現(xiàn)以下內(nèi)容,等待下載完成即可: 下載完成nginx鏡像后

    2024年02月07日
    瀏覽(23)
  • Docker部署Nginx并修改配置文件(2種方式)

    Docker部署Nginx并修改配置文件(2種方式)

    1. 進入容器內(nèi)部修改配置文件 肯定有些童鞋想問,那么上面的配置文件路徑是如何得知的? 通過文件查找命令查(按照名稱模糊全局查找文件) 因為容器與外界是完全隔離的,使用vim命令請先安裝vim 修改完配置,重新加載Nginx 2.容器加載外部配置文件 在外部創(chuàng)建文件夾(用

    2024年04月17日
    瀏覽(24)
  • Windows系統(tǒng)如何修改Nginx配置實現(xiàn)遠程訪問多個本地站點

    Windows系統(tǒng)如何修改Nginx配置實現(xiàn)遠程訪問多個本地站點

    1. 下載windows版Nginx 進入官方網(wǎng)站(http://nginx.org/en/download.html)下載windows版的nginx 下載好后解壓進入nginx目錄雙擊Nginx.exe即可運行 打開瀏覽器輸入http://localhost ,nginx默認使用80端口,所以無需加端口號.出現(xiàn)nginx歡迎頁面表示啟動成功 2. 配置Nginx 在8086,和9999端口分別配置兩個web服務(wù)

    2024年01月22日
    瀏覽(30)
  • nginx proxy_set_header設(shè)置、自定義header

    XXX 語法 proxy_set_header field value; 默認值 proxy_set_header Host $proxy_host; proxy_set_header Connection close; 上下文 http, server, location 允許重新定義或者添加發(fā)往后端服務(wù)器的請求頭。value可以包含文本、變量或者它們的組合。 當且僅當當前配置級別中沒有定義proxy_set_header指令時,會從上面

    2024年02月03日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包