Nginx?中間件的解析

目錄

一、Nginx的核心架構解析

二、Nginx的典型應用場景

三、Nginx的配置優化實踐

四、Nginx的常見缺陷與漏洞


一、Nginx的核心架構解析

  1. ??事件驅動與非阻塞IO模型??
    Nginx采用基于epoll/kq等系統調用的事件驅動機制,通過異步非阻塞方式處理請求,能實時監控文件描述符狀態變化,從而高效處理數萬并發連接。其核心架構由主進程(Master)管理多個工作進程(Worker),主進程負責配置加載和進程管理,而Worker進程通過事件循環處理實際請求,避免了傳統多線程的鎖競爭問題。

  2. ??多進程與模塊化設計??

    • ??工作進程(Worker)??:每個Worker獨立處理請求,通過事件分發機制實現高并發,支持CPU核心數綁定的進程配置(如12核服務器可設置12個Worker)。
    • ??模塊化組件??:包括事件處理器(多路復用技術)、網絡IO模塊(非阻塞讀寫)、配置解析器(動態加載配置)等,支持HTTP、HTTPS、SMTP等多種協議。
  3. ??內存與連接管理??
    Nginx通過連接池和內存池技術減少頻繁分配釋放資源的開銷,并采用緩沖區優化策略(如調整client_max_body_size)防止資源耗盡。


二、Nginx的典型應用場景

  1. ??反向代理與負載均衡??

    • ??反向代理??:隱藏后端服務器IP,支持緩存、請求過濾和安全防護。例如,通過proxy_pass指令將請求轉發至Node.js或PHP-FPM后端。
    • ??負載均衡策略??:支持輪詢、加權輪詢、IP哈希等算法,適用于高并發場景(如健康碼查詢系統)。
  2. ??動靜分離與靜態資源服務??
    將靜態資源(如圖片、CSS)與動態請求分離,直接由Nginx處理靜態文件,動態請求轉發至應用服務器,顯著提升響應速度。

  3. ??微服務與API網關??
    Nginx可作為API網關實現路由、熔斷和限流,支持服務注冊發現,與Consul等工具集成,提升微服務架構的靈活性。


三、Nginx的配置優化實踐

  1. ??性能調優??

    • ??Worker進程數??:根據CPU核心數設置worker_processes,避免過多導致內存溢出。
    • ??連接參數??:調整keepalive_timeoutworker_connections優化長連接處理能力。
    • ??日志優化??:關閉非必要日志(如access_log /dev/null;),減少磁盤IO壓力。
  2. ??安全加固??

    • ??請求限制??:通過limit_connlimit_req模塊防止DDoS攻擊。
    • ??協議升級??:強制HTTPS并配置HSTS頭,提升傳輸安全性。

四、Nginx的常見缺陷與漏洞

  1. ??文件解析漏洞??

    • ??成因??:錯誤配置PHP的cgi.fix_pathinfo=1時,攻擊者可上傳惡意圖片(如1.jpg),通過訪問1.jpg/xxx.php觸發PHP解析。
    • ??修復??:關閉cgi.fix_pathinfo或限制security.limit_extensions僅允許.php
  2. ??目錄遍歷與越權訪問??

    • ??漏洞場景??:配置autoindex on時暴露目錄結構,或Alias路徑未加/導致穿越(如訪問/files../獲取系統文件)。
    • ??修復??:禁用目錄列表功能,規范路徑配置。
  3. ??CRLF注入與空字節漏洞??

    • ??CRLF注入??:通過%0d%0a注入惡意頭信息或XSS代碼,需配置URL編碼校驗。
    • ??CVE-2013-4547??:利用文件名空格和.php后綴繞過檢測(如1.gif .php),需嚴格校驗文件名合法性。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/77792.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/77792.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/77792.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

杭州小紅書代運營公司-品融電商:全域增長策略的實踐者

杭州小紅書代運營公司-品融電商:全域增長策略的實踐者 在品牌競爭日趨激烈的電商領域,杭州品融電商作為一家專注于品牌化全域運營的服務商,憑借其“效品合一”方法論與行業領先的小紅書代運營能力,已成為眾多品牌實現市場突圍的重…

【映客直播-注冊/登錄安全分析報告】

前言 由于網站注冊入口容易被黑客攻擊,存在如下安全問題: 暴力破解密碼,造成用戶信息泄露短信盜刷的安全問題,影響業務及導致用戶投訴帶來經濟損失,尤其是后付費客戶,風險巨大,造成虧損無底洞…

Android audio_policy_configuration.xml加載流程

目錄 一、audio_policy_configuration.xml文件被加載流程 1、AudioPolicyService 創建階段 2、createAudioPolicyManager 實現 3、AudioPolicyManager 構造 4、配置文件解析 loadConfig 5、核心解析邏輯 PolicySerializer::deserialize 二、AudioPolicyConfig類解析 1、…

使用 Docker 安裝 Elastic Stack 并重置本地密碼

Elastic Stack(也被稱為 ELK Stack)是一個非常強大的工具套件,用于實時搜索、分析和可視化大量數據。Elastic Stack 包括 Elasticsearch、Logstash、Kibana 等組件。本文將展示如何使用 Docker 安裝 Elasticsearch 并重置本地用戶密碼。 ###…

Unitest和pytest使用方法

unittest 是 Python 自帶的單元測試框架,用于編寫和運行可重復的測試用例。它的核心思想是通過斷言(assertions)驗證代碼的行為是否符合預期。以下是 unittest 的基本使用方法: 1. 基本結構 1.1 創建測試類 繼承 unittest.TestC…

git 版本提交規范

Git 提交規范(Git Commit Message Convention)是為了讓項目的提交歷史更加清晰、可讀、便于追蹤和自動化工具解析。常見的規范之一是 Conventional Commits,下面是一個推薦的格式規范: 🌟 提交信息格式(Con…

stat判斷路徑

int stat(const char *pathname, struct stat *buf); pathname:用于指定一個需要查看屬性的文件路徑。 buf:struct stat 類型指針,用于指向一個 struct stat 結構體變量。調用 stat 函數的時候需要傳入一個 struct stat 變量的指針&#xff0…

學習Docker遇到的問題

目錄 1、拉取hello-world鏡像報錯 1. 檢查網絡連接 排查: 2. 配置 Docker 鏡像加速器(推薦) 具體解決步驟: 1.在服務器上創建并修改配置文件,添加Docker鏡像加速器地址: 2. 重啟Docker 3. 拉取hello-world鏡像 2、刪除鏡像出現異常 3、 容器內部不能運行ping命令 …

安寶特案例 | AR如何大幅提升IC封裝廠檢測效率?

前言:如何提升IC封裝廠檢測效率? 在現代電子產品的制造過程中,IC封裝作為核心環節,涉及到復雜處理流程和嚴格質量檢測。這是一家專注于IC封裝的廠商,負責將來自IC制造商的晶圓進行保護、散熱和導通處理。整個制程繁瑣…

【Linux網絡與網絡編程】07.應用層協議HTTPS

HTTP 協議內容都是按照文本的方式明文傳輸的,這就導致在傳輸過程中出現一些被篡改的情況。HTTPS 就是在 HTTP 協議的基礎上引入了一個加密層的應用層協議。 1. 基礎概念 1.1 加密與解密 加密就是把明文(要傳輸的信息)進行一系列變換&#x…

【k8s】PV,PVC的回收策略——return、recycle、delete

PV 和 PVC 的回收策略主要用于管理存儲資源的生命周期,特別是當 PVC 被刪除時,PV 的處理方式。回收策略決定了 PV 在 PVC 被刪除后的行為。 回收策略的類型 Kubernetes 提供了三種主要的回收策略,用于管理 PV 的生命周期: Reta…

2023藍帽杯初賽內存取證-2

直接使用mimikatz插件來獲取用戶密碼: vol.py --plugin/opt/volatility/plugins -f memdump.mem --profile Win7SP1x64 mimikatz 答案:3w.qax.com

使用dompurify修復XSS跨站腳本缺陷

1. 問題描述 漏洞掃描說有一個低危漏洞,容易被跨站腳本攻擊XSS。 2. 使用dompurify修復 DOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. 簡單來說,我們可以使用 dompurify 處理xss跨站腳本攻擊。 2.…

【c語言】指針和數組筆試題解析

一維數組: //數組名a如果既不單獨放在sizeof()中,也不與&結合,那么就表示數組首元素的大小 //a一般表示數組首元素地址,只有兩種情況表示整個數組,sizeof(arr)表示整個數組的大小,&arr表示數組的地址 int a[]…

機器人進階---視覺算法(六)傅里葉變換在圖像處理中怎么用

傅里葉變換在圖像處理中怎么用 傅里葉變換的基本原理應用場景Python代碼示例逐行解釋總結傅里葉變換在圖像處理中是一種重要的工具,它將圖像從空間域轉換到頻域,從而可以對圖像的頻率特性進行分析和處理。傅里葉變換在圖像濾波、圖像增強、圖像壓縮和圖像分析等方面都有廣泛應…

深度學習與總結JVM專輯(七):垃圾回收器—CMS(圖文+代碼)

CMS垃圾收集器深度解析教程 1. 前言:為什么需要CMS?2. CMS 工作原理:一場與時間的賽跑2.1. 初始標記(Initial Mark)2.2. 并發標記(Concurrent Mark)2.3. 重新標記(Remark&#xff09…

數據采集:AI 發展的基石與驅動力

人工智能(AI)無疑是最具變革性的技術力量之一,正以驚人的速度重塑著各行各業的格局。從智能語音助手到自動駕駛汽車,從精準的醫療診斷到個性化的推薦系統,AI 的廣泛應用已深刻融入人們的日常生活與工作的各個層面。而在…

從信息泄露到內網控制

0x01 背景 之前常見用rce、文件上傳等漏洞獲取webshell,偶然遇到一次敏感信息泄露獲取權限的滲透,簡單記錄一下過程。 0x02 信息泄露 發現系統某端口部署了minio服務,經過探測發現存在minio存儲桶遍歷 使用利用工具把泄露的文件全部整理一…

《門》凡是過往,皆為序曲。我們的愛,和最初一樣

《門》凡是過往,皆為序曲。我們的愛,和最初一樣 夏目漱石,本名夏目金之助,筆名漱石,日本近代作家,代表作有《三四郎》《門》《從此以后》《我是貓》《心》《明暗》等。 竺家榮 譯 文章目錄 《門》凡是過往&…

衡石ChatBI:依托開放架構構建技術驅動的差異化數據服務

在當今數字化浪潮中,企業對數據價值的挖掘和利用需求日益增長。BI(商業智能)工具作為企業獲取數據洞察的關鍵手段,其技術架構的創新與發展至關重要。衡石科技的Chat BI憑借其獨特的開放架構,在BI領域脫穎而出&#xff…