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

nginx 訪問限制與訪問控制的實(shí)現(xiàn)

 更新時(shí)間:2024年02月22日 10:25:39   作者:Bean295  
訪問控制要做的事情是控制客戶端的資源訪問權(quán)限,本文主要介紹了nginx 訪問限制與訪問控制的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、nginx 訪問限制

1、ngx_http_limit_req_module

(1) 作用:限制單位時(shí)間內(nèi)來自特定IP的請(qǐng)求次數(shù)。

(2) 啟動(dòng)請(qǐng)求頻率限制:

① 未限制情況下進(jìn)行訪問:

安裝壓測(cè)工具:yum install -y httpd-tools

命令:ab -n 100 -c 10 http://a.com/

ab 是 apache 進(jìn)行性能測(cè)試的工具 ;-n 100 -c 10:總共100次,分10次發(fā)送給 a.com

② 啟動(dòng)限制,在主配置文件里定義限制規(guī)則:

limit_req_zone $binary_remote_addr zone=req_zone:10m rate=1r/s;

  • limit_req_zone:定義限制規(guī)則
  • $binary_remote_addr:遠(yuǎn)程的客戶端地址
  • zone=req_zone:10m 創(chuàng)建一個(gè)叫'req_zone'的存儲(chǔ)區(qū)域,并分配10M的內(nèi)存
  • rate=1r/s:請(qǐng)求速率限制

在 a 網(wǎng)站的配置文件中引用限制規(guī)則:

③ 重啟服務(wù)并測(cè)試

觀察錯(cuò)誤日志:

2023/09/14 21:06:02 [error] 3538#3538: *100 limiting requests, excess: 0.991 by zone "req_zone", client: 192.168.198.133, server: a.com, request: "GET / HTTP/1.0", host: "a.com"

④ ngx_http_limit_req_module 與 ngx_http_limit_conn_module 的區(qū)別:

ngx_http_limit_req_module:請(qǐng)求頻率限制,限制客戶端請(qǐng)求的速率;

ngx_http_limit_conn_module:連接頻率限制,限制某個(gè) ip 同時(shí)建立的連接數(shù)量。

2、常見的網(wǎng)站壓力測(cè)試工具

① Apache JMeter:Apache JMeter是一個(gè)開源的Java應(yīng)用程序,用于執(zhí)行各種性能測(cè)試,包括負(fù)載測(cè)試、壓力測(cè)試、功能測(cè)試等。

② LoadRunner:HP LoadRunner是一款商業(yè)性能測(cè)試工具,用于模擬大規(guī)模用戶負(fù)載并監(jiān)測(cè)應(yīng)用程序性能

③ Gatling:Gatling是一個(gè)開源的性能測(cè)試工具,使用Scala編寫,專注于高并發(fā)場(chǎng)景。

④ Apache Benchmark (ab):Apache Benchmark是一個(gè)命令行工具,用于進(jìn)行基本的HTTP壓力測(cè)試。它通常與Apache Web服務(wù)器一起使用,但也可用于測(cè)試其他Web服務(wù)器。

⑤ Locust:Locust是一個(gè)開源的Python性能測(cè)試工具,允許使用Python代碼定義和執(zhí)行負(fù)載測(cè)試場(chǎng)景。

⑥ Siege:Siege是一個(gè)開源的命令行工具,用于進(jìn)行HTTP壓力測(cè)試。具有簡單的語法和配置,且易于使用。

二、nginx 訪問控制

1、基于主機(jī)(ip 訪問控制)

(1) 模塊:ngx_http_access_module

(2) 語法:

配置允許或禁止訪問的 ip 地址或網(wǎng)段

syntax: access_module [on | off] | deny address | allow address;

context: http, server, location, limit_except;

(3) 啟用控制

啟用訪問控制后,只有特定主機(jī)才能訪問 nginx 服務(wù)器。

觀察錯(cuò)誤日志:

2023/09/14 23:24:04 [error] 4916#4916: *2 access forbidden by rule, client: 192.168.198.128, server: a.com, request: "GET /favicon.ico HTTP/1.1", host: "a.com"

2、基于用戶(username & password)

(1) 網(wǎng)站基礎(chǔ)認(rèn)證模塊:ngx_http_auth_basic_module

(2) 語法:

獨(dú)立存儲(chǔ)一個(gè)加密文件,在服務(wù)器上調(diào)用加密文件

Syntax: auth_basic_user_file file;

Context: http, server, location, limit_except

(3) 啟用控制

① 創(chuàng)建認(rèn)證文件:htpasswd -cm /etc/nginx/conf.d/passwd user10

  • htpasswd:進(jìn)行身份密碼驗(yàn)證的命令行工具
  • -cm:創(chuàng)建一個(gè)新的密碼文件
  • /etc/nginx/conf.d/passwd user10:密碼文件的路徑和創(chuàng)建的用戶名

② 啟動(dòng)認(rèn)證

提示信息;認(rèn)證文件路徑

auth_basic "nginx access test";

auth_basic_user_file /etc/nginx/conf.d/passwd;

③ 重啟并驗(yàn)證

客戶機(jī)上訪問 a.com:

認(rèn)證成功可進(jìn)入 a 網(wǎng)站

若不進(jìn)行身份驗(yàn)證,則網(wǎng)站返回狀態(tài)碼 401(客戶端未提供有效身份信息)

三、HTTP 協(xié)議

1、HTTP簡介

(1) Hyper Text Transfer Protocol,超文本傳輸協(xié)議,是一種建立在TCP上的 請(qǐng)求-響應(yīng) 協(xié)議。

(2) 工作流程:客戶端發(fā)送一個(gè)HTTP請(qǐng)求,服務(wù)端收到請(qǐng)求之后,根據(jù)請(qǐng)求做出相應(yīng)的動(dòng)作訪問服務(wù)器資源,最后發(fā)送HTTP響應(yīng)把結(jié)果返回給客戶端。

一個(gè)請(qǐng)求的開始到一個(gè)響應(yīng)的結(jié)束稱為事務(wù),當(dāng)一個(gè)事務(wù)結(jié)束后會(huì)在服務(wù)端添加一條日志條目。

(3) 組件系統(tǒng):

① 客戶端:通常是 Web 瀏覽器,負(fù)責(zé)發(fā)送 HTTP 請(qǐng)求并接收 HTTP 響應(yīng);

② 服務(wù)器:接收來自客戶端的 HTTP 請(qǐng)求,處理請(qǐng)求并返回 HTTP 響應(yīng)。服務(wù)器通常由Web服務(wù)器軟件構(gòu)成,例如 Apache、Nginx 等;

③ Proxies/代理服務(wù)器:Proxies或代理服務(wù)器是介于客戶端和服務(wù)器之間的中間組件,用于處理HTTP請(qǐng)求和響應(yīng)。

(4) 報(bào)文:

① 請(qǐng)求報(bào)文:請(qǐng)求報(bào)文是客戶端向服務(wù)器發(fā)送的報(bào)文,請(qǐng)求報(bào)文由請(qǐng)求行、請(qǐng)求頭部和請(qǐng)求體三部分組成:

  • 請(qǐng)求行:由請(qǐng)求方法字段、URL字段和HTTP協(xié)議版本字段3個(gè)字段組成,用空格分隔。例如,GET /index.html HTTP/1.1

GET:請(qǐng)求方法之一,當(dāng)點(diǎn)擊網(wǎng)頁上的鏈接或者通過在瀏覽器的地址欄輸入網(wǎng)址來瀏覽網(wǎng)頁的,使用的都是GET方式;

POST:POST方法可以在請(qǐng)求中包含一個(gè)請(qǐng)求體,以表單的形式向服務(wù)器提交數(shù)據(jù)。

② 響應(yīng)報(bào)文:響應(yīng)報(bào)文是服務(wù)器對(duì)請(qǐng)求報(bào)文的響應(yīng)。響應(yīng)報(bào)文包括響應(yīng)行、響應(yīng)頭部和響應(yīng)體三部分。

  •  響應(yīng)行:包含HTTP協(xié)議的版本、狀態(tài)碼和狀態(tài)消息。例如,“HTTP/1.1 200 OK”,其中HTTP/1.1是協(xié)議版本,200是狀態(tài)碼,OK是狀態(tài)消息。

2、URI

(1) URI 簡介

統(tǒng)一資源標(biāo)識(shí)符 (Uniform Resource Identifier,或URI) ,HTTP 請(qǐng)求的內(nèi)容統(tǒng)稱為"資源",每個(gè)資源都由一個(gè) URI 來進(jìn)行標(biāo)識(shí),URI 包含 URL、URN。

(2) URL

統(tǒng)一資源定位符(Uniform Resource Locator),也稱為網(wǎng)頁地址,用于定位。

URL 格式:

① 協(xié)議:網(wǎng)站協(xié)議是互聯(lián)網(wǎng)上進(jìn)行通訊、信息共享遵循的規(guī)則總稱。

超文本傳輸協(xié)議(HTTP)文件傳輸協(xié)議(FTP)遠(yuǎn)程終端協(xié)議(Telnet)郵件處理協(xié)議(mailto)

② 主機(jī):www.example.com(域名)或主機(jī)ip,表示向網(wǎng)絡(luò)上的哪臺(tái)主機(jī)發(fā)起請(qǐng)求。

③ 端口:表示訪問 web 服務(wù)器上的資源的入口,HTTP 為 80,HTTPS 為 443

④ 路徑:/path/to/file.html 是 web 服務(wù)器上存放資源的路徑

⑤ 查詢:?key1=value1&key2=value2 是提供給 Web 服務(wù)器的額外參數(shù),用 & 符號(hào)分隔的鍵/值對(duì)列表。

⑥ 片段:#SomewhereInTheDocument 是資源本身的某一部分的一個(gè)錨點(diǎn)。錨點(diǎn)代表資源內(nèi)的一種超鏈接,它給予瀏覽器跳轉(zhuǎn)到錨點(diǎn)指示的內(nèi)容。 例如,在HTML文檔上,瀏覽器將滾動(dòng)到定義錨點(diǎn)的位置上。

到此這篇關(guān)于nginx 訪問限制與訪問控制的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)nginx 訪問限制與訪問控制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • 1分鐘搞定Nginx版本的平滑升級(jí)與回滾的方法

    1分鐘搞定Nginx版本的平滑升級(jí)與回滾的方法

    這篇文章主要介紹了1分鐘搞定Nginx版本的平滑升級(jí)與回滾的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Nginx服務(wù)器作反向代理時(shí)的緩存配置要點(diǎn)解析

    Nginx服務(wù)器作反向代理時(shí)的緩存配置要點(diǎn)解析

    這篇文章主要介紹了Nginx服務(wù)器作反向代理時(shí)的緩存配置要點(diǎn)解析,需要的朋友可以參考下
    2016-04-04
  • nginx服務(wù)加鑒權(quán)&設(shè)置日志方式

    nginx服務(wù)加鑒權(quán)&設(shè)置日志方式

    這篇文章主要介紹了nginx服務(wù)加鑒權(quán)&設(shè)置日志方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • nginx如何通過proxy_pass設(shè)置反向代理,隱藏端口號(hào)

    nginx如何通過proxy_pass設(shè)置反向代理,隱藏端口號(hào)

    這篇文章主要介紹了nginx如何通過proxy_pass設(shè)置反向代理,隱藏端口號(hào)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Nginx服務(wù)器進(jìn)程數(shù)設(shè)置和利用多核CPU的方法

    Nginx服務(wù)器進(jìn)程數(shù)設(shè)置和利用多核CPU的方法

    這篇文章主要介紹了Nginx服務(wù)器進(jìn)程數(shù)設(shè)置和利用多核CPU的方法,這樣便可以更大限度地提高Nginx運(yùn)行效率,需要的朋友可以參考下
    2015-08-08
  • Nginx搶購限流配置實(shí)現(xiàn)解析

    Nginx搶購限流配置實(shí)現(xiàn)解析

    這篇文章主要介紹了Nginx搶購限流配置實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • nginx搭建文件服務(wù)器(保姆級(jí))

    nginx搭建文件服務(wù)器(保姆級(jí))

    我們?cè)诠ぷ鬟^程中,有許多大的鏡像或者安裝包等,搭建一個(gè)文件服務(wù)器,可以高效的儲(chǔ)存文件,本文就來介紹一下nginx搭建文件服務(wù)器,感興趣的可以了解一下
    2023-06-06
  • Nginx負(fù)載均衡/SSL配置的實(shí)現(xiàn)

    Nginx負(fù)載均衡/SSL配置的實(shí)現(xiàn)

    這篇文章主要介紹了Nginx負(fù)載均衡/SSL配置的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 常見的Nginx配置誤區(qū)

    常見的Nginx配置誤區(qū)

    對(duì)很多人而言,配置Nginx+PHP無外乎就是搜索一篇教程,然后拷貝粘貼。聽上去似乎也沒什么問題,可惜實(shí)際上網(wǎng)絡(luò)上很多資料本身年久失修,漏洞百出,如果大家不求甚解,一味的拷貝粘貼,早晚有一天會(huì)為此付出代價(jià)
    2014-03-03
  • 利用Nginx反向代理功能自建CDN加速頁面服務(wù)

    利用Nginx反向代理功能自建CDN加速頁面服務(wù)

    這篇文章主要介紹了利用Nginx反向代理功能自建CDN加速頁面服務(wù)方法,需要的朋友可以參考下
    2024-03-03

最新評(píng)論

盘锦市| 广昌县| 迁安市| 达拉特旗| 奈曼旗| 浦城县| 平遥县| 旺苍县| 武邑县| 开封市| 康平县| 乌鲁木齐县| 西贡区| 洪洞县| 西华县| 泸定县| 南涧| 绥芬河市| 合山市| 竹北市| 壶关县| 互助| 屯留县| 鄂托克旗| 荥阳市| 许昌县| 黎川县| 且末县| 扶绥县| 东源县| 五指山市| 灵川县| 宁城县| 平安县| 中山市| 溧水县| 孝感市| 房产| 太湖县| 鄯善县| 山东省|