最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nginx做代理時(shí)如何修改querystring方法詳解

 更新時(shí)間:2023年08月02日 09:45:10   作者:zzyongx  
這篇文章主要介紹了nginx做代理時(shí)如何修改querystring的方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

nginx配置

我們有段nginx配置是這樣的:

set $arg_from "1";
if ($host = "inner.domain") {
  set $arg_from "0";
}
set $args "$args&from=$arg_from";

如果請(qǐng)求來(lái)自inner.domain域名,就給querystring添加參數(shù)from=0,表明是內(nèi)網(wǎng)過(guò)來(lái)的(公網(wǎng)入口不會(huì)轉(zhuǎn)發(fā)host為inner.domain的請(qǐng)求)。這樣upstream只需要檢查from參數(shù)即可判斷請(qǐng)求來(lái)源,和域名解綁了。

但是這個(gè)配置有個(gè)bug,如果用戶(hù)請(qǐng)求時(shí)添加 from=0 參數(shù),從公網(wǎng)發(fā)請(qǐng)求,querystring變成了 from=0&from=1 ,上面的配置是追加參數(shù),而不是修改參數(shù)。那么該如何修復(fù)這個(gè)bug呢?核心是修改 $args ,很多方法也是圍繞這個(gè)展開(kāi)的,但是都不夠通用。

修改后配置

最后我也沒(méi)找到修改 $args 的好辦法,但是問(wèn)題解決了,最后的配置是這樣的:

if ($arg_from != "") {
  return 401;
}
set $arg_from "1";
if ($host = "inner.domain") {
  set $arg_from "0";
}
set $args "$args&from=$arg_from";

既然不能修改 $args, 那就禁止用戶(hù)傳 from 參數(shù),曲線(xiàn)救國(guó)達(dá)到目的。

使用Header

說(shuō)到底,依賴(lài) querystring 里的參數(shù)不是個(gè)好主意,最好的方法是使用Header,更加通用。不會(huì)有兩個(gè)同名Header,也不用擔(dān)心和請(qǐng)求里可能會(huì)有的from參數(shù)沖突。

set $req_source 1;
if ($host = "inner.domain") {
  set $req_source 0;
}
proxy_set_header X-Req-Source $req_source;

這應(yīng)該算不上是一種技巧,但是它提醒我,專(zhuān)注于目的,而不是解決問(wèn)題的手段。

以上就是nginx做代理時(shí)如何修改querystring方法詳解的詳細(xì)內(nèi)容,更多關(guān)于nginx代理修改querystring的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Nginx?處理請(qǐng)求并發(fā)控制的過(guò)程分享

    Nginx?處理請(qǐng)求并發(fā)控制的過(guò)程分享

    Nginx?作為一款高性能的?Web?服務(wù)器和反向代理服務(wù)器,在處理請(qǐng)求的并發(fā)控制方面有著出色的表現(xiàn),這篇文章主要介紹了Nginx?處理請(qǐng)求的并發(fā)控制的過(guò)程,需要的朋友可以參考下
    2024-07-07
  • Nginx 代理與負(fù)載均衡詳解

    Nginx 代理與負(fù)載均衡詳解

    這篇文章主要介紹了Nginx 代理與負(fù)載均衡詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • nginx部署前端post請(qǐng)求405?not?allowed問(wèn)題解決

    nginx部署前端post請(qǐng)求405?not?allowed問(wèn)題解決

    在配置前端項(xiàng)目的時(shí)候遇到了一個(gè)post請(qǐng)求405 not allowed,簡(jiǎn)單記錄一下如何配置,這篇文章主要給大家介紹了關(guān)于nginx部署前端post請(qǐng)求405?not?allowed問(wèn)題解決方法,需要的朋友可以參考下
    2023-09-09
  • Nginx反向代理出現(xiàn)靜態(tài)文件404異常處理

    Nginx反向代理出現(xiàn)靜態(tài)文件404異常處理

    本文主要介紹了Nginx反向代理出現(xiàn)靜態(tài)文件404異常處理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-05-05
  • Nginx內(nèi)網(wǎng)環(huán)境開(kāi)啟https雙協(xié)議的實(shí)現(xiàn)

    Nginx內(nèi)網(wǎng)環(huán)境開(kāi)啟https雙協(xié)議的實(shí)現(xiàn)

    本文主要介紹了Nginx內(nèi)網(wǎng)環(huán)境開(kāi)啟https雙協(xié)議,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • Nginx 中的Rewrite 使用示例詳解

    Nginx 中的Rewrite 使用示例詳解

    Nginx的rewrite模塊提供了強(qiáng)大的URL重寫(xiě)和重定向功能,可以用于實(shí)現(xiàn)各種復(fù)雜的 URL 處理需求,本文詳細(xì)介紹了rewrite的命令、語(yǔ)法、含義、環(huán)境和示例,希望能夠幫助用戶(hù)更好地理解和使用Nginx的 rewrite功能,感興趣的朋友跟隨小編一起看看吧
    2025-11-11
  • nginx配置https的雙向認(rèn)證方式

    nginx配置https的雙向認(rèn)證方式

    文章主要介紹了如何配置Nginx雙向認(rèn)證的詳細(xì)步驟,包括生成證書(shū)、配置Nginx等,并提供了個(gè)人經(jīng)驗(yàn)供參考
    2024-11-11
  • nginx做白名單和限流的完整過(guò)程

    nginx做白名單和限流的完整過(guò)程

    ??我們都知道nginx里面是可以用lua腳本做一些稍微復(fù)雜些的邏輯處理的,要使用lua腳本需要編譯lua解釋器,時(shí)間有限我直接用了openresty,它集成了lua和nginx,這篇文章主要介紹了nginx做白名單和限流,需要的朋友可以參考下
    2024-02-02
  • Nginx防盜鏈與服務(wù)優(yōu)化配置的全過(guò)程

    Nginx防盜鏈與服務(wù)優(yōu)化配置的全過(guò)程

    由于Nginx本身的一些優(yōu)點(diǎn),輕量,開(kāi)源,易用,越來(lái)越多的公司使用nginx作為自己公司的web應(yīng)用服務(wù)器,下面這篇文章主要給大家介紹了關(guān)于Nginx防盜鏈與服務(wù)優(yōu)化配置的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • Nginx服務(wù)器中的重定向配置參考指南

    Nginx服務(wù)器中的重定向配置參考指南

    這里簡(jiǎn)單整理了一份Nginx服務(wù)器中的重定向配置參考指,包括rewrite模塊的配置以及301重定向的設(shè)置等,需要的朋友可以參考下
    2016-05-05

最新評(píng)論

莆田市| 大余县| 柳河县| 同心县| 丰顺县| 凤阳县| 庆阳市| 平邑县| 陕西省| 历史| 济宁市| 阜阳市| 海城市| 安丘市| 德兴市| 台山市| 白朗县| 夏河县| 视频| 长丰县| 称多县| 南和县| 大丰市| 林口县| 北安市| 荣昌县| 新化县| 广丰县| 普洱| 香港| 兖州市| 宽甸| 乌兰县| 长丰县| 左贡县| 贺州市| 周口市| 车致| 宁津县| 井研县| 临湘市|