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

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

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

一、nginx 訪問限制

1、ngx_http_limit_req_module

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

(2) 啟動請求頻率限制:

① 未限制情況下進行訪問:

安裝壓測工具:yum install -y httpd-tools

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

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

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

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

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

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

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

觀察錯誤日志:

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:請求頻率限制,限制客戶端請求的速率;

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

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

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

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

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

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

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

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

二、nginx 訪問控制

1、基于主機(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) 啟用控制

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

觀察錯誤日志:

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ǔ)認證模塊:ngx_http_auth_basic_module

(2) 語法:

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

Syntax: auth_basic_user_file file;

Context: http, server, location, limit_except

(3) 啟用控制

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

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

② 啟動認證

提示信息;認證文件路徑

auth_basic "nginx access test";

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

③ 重啟并驗證

客戶機上訪問 a.com:

認證成功可進入 a 網(wǎng)站

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

三、HTTP 協(xié)議

1、HTTP簡介

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

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

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

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

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

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

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

(4) 報文:

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

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

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

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

② 響應(yīng)報文:響應(yīng)報文是服務(wù)器對請求報文的響應(yīng)。響應(yīng)報文包括響應(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)一資源標識符 (Uniform Resource Identifier,或URI) ,HTTP 請求的內(nèi)容統(tǒng)稱為"資源",每個資源都由一個 URI 來進行標識,URI 包含 URL、URN。

(2) URL

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

URL 格式:

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

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

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

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

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

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

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

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

相關(guān)文章

  • Ubuntu下nginx編譯安裝參數(shù)配置

    Ubuntu下nginx編譯安裝參數(shù)配置

    這篇文章主要介紹了Ubuntu下nginx編譯安裝參數(shù)配置,本文總結(jié)了一些依賴庫的安裝以及編碼配置參數(shù),需要的朋友可以參考下
    2015-06-06
  • 一文詳解nginx中的root與alias

    一文詳解nginx中的root與alias

    Nginx是一款流行的高性能Web服務(wù)器和反向代理服務(wù)器,這篇文章主要給大家介紹了關(guān)于如何通過一文詳解nginx中的root與alias的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • Nginx中代理的上下文路徑設(shè)置方式

    Nginx中代理的上下文路徑設(shè)置方式

    這篇文章主要介紹了Nginx中代理的上下文路徑設(shè)置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • nginx stream無法使用的解決辦法

    nginx stream無法使用的解決辦法

    nginx的stream模塊一般用于tcp/UDP數(shù)據(jù)流的代理和負載均衡,本文將給大家介紹一下如何解決nginx stream無法使用問題,文中通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下
    2024-02-02
  • 排查服務(wù)器異常流量教程詳解

    排查服務(wù)器異常流量教程詳解

    這篇文章主要為大家介紹了排查服務(wù)器異常流量教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Nginx使用ngx_http_upstream_module實現(xiàn)負載均衡功能示例

    Nginx使用ngx_http_upstream_module實現(xiàn)負載均衡功能示例

    本文主要介紹了Nginx使用ngx_http_upstream_module實現(xiàn)負載均衡功能示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • nginx配置報404問題排查解決

    nginx配置報404問題排查解決

    這篇文章主要給大家介紹了關(guān)于nginx配置報404問題排查解決的相關(guān)資料,當我們在訪問網(wǎng)站時常常會遇到一些我們沒能想到的問題或者其他錯誤,此時我們訪問的是無法路由的頁面,也就是404頁面,需要的朋友可以參考下
    2023-08-08
  • Ubuntu上安裝Nginx服務(wù)器程序及簡單的環(huán)境配置小結(jié)

    Ubuntu上安裝Nginx服務(wù)器程序及簡單的環(huán)境配置小結(jié)

    Nginx是一款高性能的異步非阻塞服務(wù)器應(yīng)用程序,人氣相當高,這里我們就來看一下在Ubuntu上安裝Nginx服務(wù)器程序及簡單的環(huán)境配置小結(jié):
    2016-07-07
  • nginx+keepalived 高可用主從配置詳解

    nginx+keepalived 高可用主從配置詳解

    這篇文章主要介紹了nginx+keepalived 高可用主從配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Windows下Nginx+PHP5的安裝與配置方法

    Windows下Nginx+PHP5的安裝與配置方法

    Nginx 是一個輕量級的高性能 Http WebServer,以事件驅(qū)動方式編寫,因此相比 Apache 而言,Nginx 更加穩(wěn)定、性能更好,而且配置簡單,資源占用較低。
    2010-06-06

最新評論