欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Nginx如何根據(jù)swagger關(guān)鍵字屏蔽頁(yè)面

 更新時(shí)間:2023年08月01日 09:47:26   作者:ACGkaka_  
這篇文章主要為大家詳細(xì)介紹了Nginx 如何根據(jù)swagger關(guān)鍵字屏蔽頁(yè)面的實(shí)現(xiàn)方案,文中有詳細(xì)的解決方案,對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下

一、知識(shí)回顧

1.什么是 location

Nginx 中通過(guò)根據(jù) location 塊的規(guī)則來(lái)將匹配到的 URL 請(qǐng)求進(jìn)行一系列操作,最常見的就是進(jìn)行代理。Nginx 中一個(gè) Server 可以有多個(gè) location 配置,當(dāng)請(qǐng)求在與多個(gè) location 匹配時(shí),會(huì)根據(jù)一定的 location 匹配規(guī)則和優(yōu)先級(jí)來(lái)確定具體將請(qǐng)求分發(fā)到哪個(gè) location。

2.location 語(yǔ)法

# |指令|  |前綴|   |匹配的網(wǎng)站網(wǎng)址|  |匹配URI之后要執(zhí)行的配置段|
location [=|^~|~|~*] /uri/ { ... }

3.location 的匹配規(guī)則

匹配規(guī)則說(shuō)明
沒(méi)有前綴普通匹配(遵循最大前綴匹配規(guī)則)。
=精確(嚴(yán)格)匹配。
~區(qū)分大小寫的正則匹配。
~*不區(qū)分大小寫的正則匹配。
^~匹配 URI 以某個(gè)常規(guī)字符串開頭,^ 為正則表達(dá)式中的開頭。
!~區(qū)分大小寫不匹配的正則。
!~*不區(qū)分大小寫不匹配的正則。
/通用匹配,任何請(qǐng)求都會(huì)匹配到。

由此我們可以根據(jù)是否按照正則匹配將 location 的匹配規(guī)則劃分為兩類:

  • 普通location: 包括 沒(méi)有前綴、=、^~、@ 四種。其中 @ 時(shí)用作服務(wù)內(nèi)部的一種轉(zhuǎn)發(fā)行為,很少用。
  • 正則location: 包括 ~、~*、!~、!~* 四種。

4.優(yōu)先級(jí)排序

具體的匹配順序生效規(guī)則如下:

  • 普通 location 與正則 location 之間的匹配:選擇出 “普通 location” 的最大前綴匹配結(jié)果后,還需要繼續(xù)搜索正則 location。如果繼續(xù)搜索的 “正則 location” 也有匹配上的,那么 “正則 location” 覆蓋 “普通 location” 的最大前綴匹配。
  • 普通 location 之間:最大前綴匹配。
  • 正則 location 之間:按照正則 location 在配置文件中的物理順序(編輯順序)匹配,并且只要匹配到一條正則 location,就不再考慮后面的。
  • 以上 “普通 location” 指的是 沒(méi)有前綴 和 @,= 和 ^~ 在匹配到結(jié)果后就不再需要繼續(xù)匹配 “正則 location” 了(^ 表示 “非”,~ 表示 “正則”,字符意思是:不要繼續(xù)匹配正則)。
    • = 和 ^~ 共同點(diǎn):都可以阻止繼續(xù)匹配 “正則 location”。
    • = 和 ^~ 不同點(diǎn):^~ 依然遵守 “最大前綴” 匹配規(guī)則,然而 = 不是 “最大前綴”,而是必須是嚴(yán)格匹配(exact match)。

所有類型location存在時(shí),優(yōu)先級(jí)排序?yàn)椋?/p>

=匹配 > ^~匹配(不是用正則,最大前綴匹配) > 正則匹配 > 沒(méi)有前綴(最大前綴匹配) > 默認(rèn)(/)

location / {} 和 location = / {} 的區(qū)別:

  • location / {} 遵守普通 location 的最大前綴匹配,由于任何 URI 都必然以 / 根開頭,所以對(duì)于一個(gè) URI,如果有更 specific 的匹配,那自然是選這個(gè)更 specific 的,如果沒(méi)有,/ 一定能為這個(gè) URI 點(diǎn)背(至少能匹配到 /)。也就是說(shuō),location / {} 有默認(rèn)配置的意思,其他更 specific 的配置能 orverwrite 這個(gè)默認(rèn)配置(這也是為什么我們總能看到 location / {} 這個(gè)配置的原因)。
  • location = / {} 遵守的是 “嚴(yán)格精確匹配 exact match”,也就是只能匹配 http://host:port/ 請(qǐng)求,同時(shí)會(huì)禁止繼續(xù)搜索正則 location。因此如果我們只想對(duì) “GET /” 請(qǐng)求配置作用指令,那么我們可以選 location = / {},這樣能減少正則 location 的搜索,因此效率比 location / {} 高(注:前提是我們的目的僅僅只想對(duì) “GET /” 起作用)。

二、如何根據(jù)關(guān)鍵字篩選請(qǐng)求

1.實(shí)現(xiàn)方案

可以利用以下四種匹配規(guī)則實(shí)現(xiàn):

匹配規(guī)則說(shuō)明
~區(qū)分大小寫的正則匹配。
~*不區(qū)分大小寫的正則匹配。
!~區(qū)分大小寫不匹配的正則。
!~*不區(qū)分大小寫不匹配的正則。

例如,我想根據(jù) swagger 關(guān)鍵字進(jìn)行篩選,將帶有 swagger 的請(qǐng)求全部攔截,我們可以這么實(shí)現(xiàn):

location ~* swagger {
    return 404;
}

2.測(cè)試結(jié)果

訪問(wèn)地址:http://localhost:8081/swagger-ui.html

整理完畢!

參考地址:

1.Nginx之location匹配規(guī)則,https://www.cnblogs.com/gaoyanbing/p/16915446.html

到此這篇關(guān)于詳解Nginx如何根據(jù)swagger關(guān)鍵字屏蔽頁(yè)面的文章就介紹到這了,更多相關(guān)Nginx swagger屏蔽頁(yè)面內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 樹莓派如何搭建web服務(wù)器(nginx?+php?+?mysql?+?vsftpd?+phpmyadmin)

    樹莓派如何搭建web服務(wù)器(nginx?+php?+?mysql?+?vsftpd?+phpmyadmin)

    本文介紹如何使用樹莓派搭建Web服務(wù)器,包括安裝Nginx、PHP、MySQL、ftp和phpMyAdmin,步驟詳盡,涵蓋不同架構(gòu)的PHP安裝,提供了配置MySQL遠(yuǎn)程訪問(wèn)和管理數(shù)據(jù)庫(kù)的方法,是搭建個(gè)人Web服務(wù)器的實(shí)用指南
    2024-11-11
  • 深入理解Nginx中的sites-enabled目錄

    深入理解Nginx中的sites-enabled目錄

    Nginx是高性能的HTTP服務(wù)器和反向代理,其中sites-enabled目錄對(duì)于配置管理非常關(guān)鍵,該目錄存放已啟用站點(diǎn)的符號(hào)鏈接,使得啟用或禁用站點(diǎn)配置變得簡(jiǎn)單高效,下面就來(lái)介紹一下
    2024-09-09
  • nginx日志中添加請(qǐng)求的response日志(推薦)

    nginx日志中添加請(qǐng)求的response日志(推薦)

    這篇文章主要介紹了nginx日志中添加請(qǐng)求的response日志,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05
  • nginx?http?499錯(cuò)誤碼詳解以及解決辦法

    nginx?http?499錯(cuò)誤碼詳解以及解決辦法

    HTTP狀態(tài)碼出現(xiàn)499錯(cuò)誤有多種情況,499錯(cuò)誤是什么?這篇文章主要給大家介紹了關(guān)于nginx?http?499錯(cuò)誤碼以及解決辦法的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • 制作能在nginx和IIS中使用的ssl證書

    制作能在nginx和IIS中使用的ssl證書

    現(xiàn)在的后端開發(fā),動(dòng)不動(dòng)就是需要https,或者說(shuō)是需要ssl證書,既然沒(méi)有正版的證書,那么我們只能自己制作ssl的證書了。 證書的制作采用的是openssl工具,如果沒(méi)有,可以自行安裝下,因?yàn)楣P者是在linux(ubuntu)下制作,所以一般是使用包管理工具(apt)安裝好了的
    2021-06-06
  • Nginx為已安裝nginx動(dòng)態(tài)添加模塊

    Nginx為已安裝nginx動(dòng)態(tài)添加模塊

    本篇文章主要介紹了Nginx之為已安裝nginx動(dòng)態(tài)添加模塊的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 解決Nginx無(wú)法啟動(dòng) -10013: An attempt was made to access a socket in a way forbidden by its access permission的問(wèn)題

    解決Nginx無(wú)法啟動(dòng) -10013: An attempt was 

    這篇文章主要給大家介紹了解決用nginx -t 發(fā)成Nginx無(wú)法啟動(dòng)報(bào)錯(cuò)10013: An attempt was made to access a socket in a way forbidden by its access permissions的問(wèn)題,需要的朋友可以參考下
    2023-11-11
  • windows下快速安裝nginx并配置開機(jī)自啟動(dòng)的方法

    windows下快速安裝nginx并配置開機(jī)自啟動(dòng)的方法

    這篇文章主要介紹了windows下快速安裝nginx 并配置開機(jī)自啟動(dòng)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • Nginx中的用戶認(rèn)證配置及阻止用戶使用代理訪問(wèn)的方法

    Nginx中的用戶認(rèn)證配置及阻止用戶使用代理訪問(wèn)的方法

    這篇文章主要介紹了Nginx中的用戶認(rèn)證配置及阻止用戶使用代理訪問(wèn)的方法,用戶認(rèn)證部分用到了自帶的ngx_http_auth_basic_module模塊,需要的朋友可以參考下
    2016-01-01
  • Nginx配置origin限制跨域請(qǐng)求的詳細(xì)過(guò)程

    Nginx配置origin限制跨域請(qǐng)求的詳細(xì)過(guò)程

    這篇文章主要介紹了Nginx配置origin限制跨域請(qǐng)求的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06

最新評(píng)論