深入理解HTTPS:從概念到實戰優化

深入理解HTTPS:從概念到實戰優化

    • 一:概述
    • 二:工作流程
    • 三:創建自簽名證書
    • 四:案例
      • 1)案例一:HTTPS 搭建
      • 2)案例二:HTTP/2 搭建
      • 3)案例三:HTTP 重定向 HTTPS
      • 4)案例四:網站集群 HTTPS 配置
    • 五:優化
    • 六:監控
      • 1)監控思路
      • 2)監控方式
      • 3)監控腳本
  • 總結

🌟 如果你對 HTTP 協議的基礎知識(如請求/響應報文、狀態碼等)還不熟悉,建議先閱讀:《HTTP協議完全指南:從報文到狀態碼》

一:概述

HTTPS = HTTP + TLS/SSL

在 HTTP 的基礎上,HTTPS 增加了加密和身份驗證,保障數據傳輸的安全性。

主要作用:

  1. 加密通信:防止數據在傳輸過程中被竊取或篡改
  2. 身份驗證:確認服務器身份,防止釣魚或中間人攻擊
  3. 數據完整性:確保數據在傳輸過程中未被修改

二:工作流程

HTTPS 基于 TLS(傳輸層安全協議),核心流程如下:

  1. 客戶端發起 HTTPS 請求
    • 瀏覽器訪問 https://example.com
    • 告訴服務器它支持的TLS版本和加密算法 + 一個隨機數
  2. 服務器返回證書
    • 證書中包含公鑰、域名、頒發機構等信息 + 一個隨機數
  3. 客戶端驗證證書
    • 檢查證書是否可信(CA 簽名、有效期、域名匹配)
  4. 生成會話密鑰
    • 生成一個預密鑰,然后用服務器的公鑰加密后發給服務器,服務器用密鑰解密,然后將預密鑰和兩個隨機數組成對稱密鑰
  5. 加密通信
    • 后續所有 HTTP 請求和響應 都用對稱密鑰加密傳輸

三:創建自簽名證書

  • .key:私鑰

  • .csr:申請證書的文件,交給CA(如果指定為自簽名證書 -x509 則不生成)

  • .crt:公鑰 + 證書

  • .pem:公鑰 + 證書

  • 一步到位

    openssl req -days 365 -x509 -sha256 -nodes -newkey rsa:2048 \
    -keyout server.key -out server.crt
    
  • 分兩步

    1. 創建私鑰

      openssl genrsa -out server.key 2048
      
    2. 根據私鑰生成證書

      • -days:指定證書有效時間(單位:天)
      • -x509:直接生成自簽名證書(不用額外 CSR
      • -sha256:簽名算法
      • -key:指定已有私鑰位置
      • -out:指定輸出證書文件位置
      openssl req -days 365 -x509 -sha256 -key server.key -out server.crt
      

四:案例

1)案例一:HTTPS 搭建

  1. 創建存放 SSL 證書和私鑰的目錄

    [root@web01 ~]# mkdir -p /etc/nginx/ssl_keys
    
  2. 上傳證書

    [root@web01 ~]# unzip /opt/software/ssl.jackmk.cn_nginx.zip -d /etc/nginx/ssl_keys/
    
  3. 創建站點

    # 創建站點目錄
    [root@web01 ~]# mkdir -p /opt/module/ssl# 創建站點 index.html
    [root@web01 ~]# echo "index" > /opt/module/ssl/index.html
    
  4. 創建站點配置文件

    [root@web01 ~]# vim /etc/nginx/conf.d/ssl.conf
    
    server {listen 443 ssl;# ssl on; # 1.15.0 以后被廢棄了server_name ssl.jackmk.cn;root /opt/module/ssl/;# ssl keyssl_certificate /etc/nginx/ssl_keys/ssl.jackmk.cn.pem;ssl_certificate_key /etc/nginx/ssl_keys/ssl.jackmk.cn.key;location / {index index.html;}
    }
    
  5. 刷新 Nginx

    nginx -t
    nginx -s reload
    
  6. 配置 hosts

    192.168.2.104 ssl.jackmk.cn
    
  7. 訪問


2)案例二:HTTP/2 搭建

server {listen 443 ssl http2;  # 只要加上這個就行server_name ssl.jackmk.cn;root /opt/module/ssl/;# ssl keyssl_certificate /etc/nginx/ssl_keys/ssl.jackmk.cn.pem;ssl_certificate_key /etc/nginx/ssl_keys/ssl.jackmk.cn.key;location / {index index.html;}
}

3)案例三:HTTP 重定向 HTTPS

  1. 創建存放 SSL 證書和私鑰的目錄

    [root@web01 ~]# mkdir -p /etc/nginx/ssl_keys
    
  2. 上傳證書

    • ssl.jackmk.cn.key:私鑰
    • ssl.jackmk.cn.pem:證書 + 公鑰
    [root@web01 ~]# unzip /opt/software/ssl.jackmk.cn_nginx.zip -d /etc/nginx/ssl_keys/
    
  3. 創建站點

    # 創建站點目錄
    [root@web01 ~]# mkdir -p /opt/module/ssl# 創建站點 index.html
    [root@web01 ~]# echo "index" > /opt/module/ssl/index.html
    
  4. 創建站點配置文件

    [root@web01 ~]# vim /etc/nginx/conf.d/ssl.conf
    
    server {listen 80;server_name ssl.jackmk.cn;return 301 https://ssl.jackmk.cn$request_uri;#rewrite ^(.*)$ https://ssl.jackmk.cn$1 permanent;
    }server {listen 443 ssl;# ssl on; # 1.15.0 以后被廢棄了server_name ssl.jackmk.cn;root /opt/module/ssl/;# ssl keyssl_certificate /etc/nginx/ssl_keys/ssl.jackmk.cn.pem;ssl_certificate_key /etc/nginx/ssl_keys/ssl.jackmk.cn.key;location / {index index.html;}
    }
    
  5. 刷新 Nginx

    [root@web01 ~]# nginx -t
    [root@web01 ~]# nginx -s reload
    
  6. 配置 hosts

    192.168.2.104 ssl.jackmk.cn
    
  7. 訪問

    此時如果請求 http://ssl.jackmk.cn 會自動跳轉至 http://ssl.jackmk.cn
    

4)案例四:網站集群 HTTPS 配置

1)部署 web01web02

  1. 創建存放 SSL 證書和私鑰的目錄

    mkdir -p /etc/nginx/ssl_keys
    
  2. 創建私鑰以及證書

    # 1. 切換目錄
    cd /etc/nginx/ssl_keys# 2. 創建私鑰
    openssl genrsa -out ssl.key 2048# 3. 創建證書
    openssl req -days 365 -x509 -sha256 -key ssl.key -out ssl.crt
    
  3. 創建站點

    # 創建站點目錄
    mkdir -p /opt/module/ssl# 創建站點 index.html
    echo "web01" > /opt/module/ssl/index.html
    or
    echo "web02" > /opt/module/ssl/index.html
    
  4. 創建站點配置文件

    如果是 https -> http 那么就不需要配置 ssl keys

    vim /etc/nginx/conf.d/ssl.conf
    
    server {listen 443 ssl;server_name ssl.cn;root /opt/module/ssl/;# ssl keysssl_certificate /etc/nginx/ssl_keys/ssl.crt;ssl_certificate_key /etc/nginx/ssl_keys/ssl.key;location / {index index.html;}
    }
    
  5. 刷新 Nginx

    nginx -t
    nginx -s reload
    

2)部署 lb01

  1. 創建存放 SSL 證書和私鑰的目錄

    [root@lb01 ~]# mkdir -p /etc/nginx/ssl_keys
    
  2. 創建私鑰以及證書

    # 1. 切換目錄
    [root@lb01 ~]# cd /etc/nginx/ssl_keys# 2. 創建私鑰
    [root@lb01 ssl_keys]# openssl genrsa -out ssl.key 2048# 3. 創建證書
    [root@lb01 ssl_keys]# openssl req -days 365 -x509 -sha256 -key ssl.key -out ssl.crt
    
  3. 創建配置文件

    [root@lb01 ~]# vim /etc/nginx/conf.d/ssl.conf
    
    upstream ssl_pools {server 192.168.2.104:443;server 192.168.2.105:443;
    }server {listen 80;server_name ssl.cn;return 301 https://ssl.cn$request_uri;
    }server {listen 443 ssl;server_name ssl.cn;# ssl keysssl_certificate /etc/nginx/ssl_keys/ssl.crt;ssl_certificate_key /etc/nginx/ssl_keys/ssl.key;location / {proxy_pass https://ssl_pools;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real-Ip $remote_addr;}
    }
    
  4. 刷新 Nginx

    [root@lb01 ~]# nginx -t
    [root@lb01 ~]# nginx -s reload
    
  5. 配置 hosts

    192.168.2.102 ssl.cn
    
  6. 訪問

    在這里插入圖片描述


五:優化

主要是針對 SSL/TLS 加密連接做了一些安全和性能優化。

  • listen 443 ssl

    • 作用:開啟 HTTPS 服務,監聽 443 端口,并啟用 SSL 模塊。(沒有這行,就算配了證書也不會啟用 HTTPS)
  • keepalive_timeout 70

    • 作用:設置 長連接保持時間為 70 秒。

    • 好處

      • 客戶端和服務端之間如果頻繁請求(比如網頁加載很多小文件),可以復用連接,減少握手開銷。

      • 設置過短會導致頻繁握手,過長又會占用資源。70s 算是折中優化。

  • ssl_protocols TLSv1 TLSv1.1 TLSv1.2

    • 作用:指定允許使用的 TLS 協議版本。

    • 這里啟用了 TLSv1、TLSv1.1、TLSv1.2,但注意:

      • TLSv1 和 TLSv1.1 已過時(安全性差),現代瀏覽器和安全規范(如 PCI DSS)都建議關閉。
      • 最佳實踐是只保留 TLSv1.2+,甚至啟用 TLSv1.3(性能更好)
      ssl_protocols TLSv1.2 TLSv1.3;
      
  • ssl_ciphers ...

    • 作用:指定允許使用的加密算法套件。
    • 配置里顯式排除了:
      • !aNULL → 禁止匿名算法
      • !eNULL → 禁止無加密算法
      • !EXPORT → 禁止出口級弱加密
      • !DES!RC4!MD5 → 禁止已知不安全的算法
  • ssl_certificate / ssl_certificate_key

    • 作用:指定服務器證書和私鑰。
    • cert.pem → 公鑰證書
    • cert.key → 對應的私鑰
  • ssl_session_cache shared:SSL:10m

    • 作用:配置 SSL 會話緩存。Nginx 在 10MB 的共享內存里存儲 SSL 會話信息。
    • 好處
      • 客戶端下次訪問時可以復用會話,不必重新完整握手(節省 CPU 和握手延遲)。
      • 10MB 大約能緩存 4 萬次會話(每個會話約 256B)。
  • ssl_session_timeout 10m

    • 作用:設置 SSL 會話的過期時間(10 分鐘)。
    • 好處:在這段時間內,同一個客戶端可以復用 TLS 會話,避免再次握手,提高性能。
server {listen 443 ssl;keepalive_timeout 70;ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5; ssl_certificate /usr/local/nginx/conf/cert.pem;ssl_certificate_key /usr/local/nginx/conf/cert.key;ssl_session_cache shared:SSL:10m;ssl_session_timeout 10m;...
}

六:監控

主要針對 HTTPS 證書過期監控方案整理

1)監控思路

  • 通過命令獲取證書的過期日期
  • 將證書過期日期與當前日期對比
  • 計算剩余天數(如小于 30 天報警)

2)監控方式

  • 本地證書檢查

    • openssl x509:調用 opensslx509 子命令,主要用于 查看、轉換、管理 X.509 證書
    • -in :指定輸入文件,也就是要讀取的證書文件。
    • -noout:默認 openssl x509 會把證書的所有內容(包括公鑰、簽發者、使用者等)都打印出來。 加了 -noout 表示 不要輸出證書本身的 Base64 內容,只輸出你后面指定的信息。
    • -dates:輸出證書的有效期信息:
    openssl x509 -in /etc/nginx/ssl_keys/ssl.crt -noout -dates
    
    notBefore=Aug 22 16:52:34 2025 GMT  # 證書開始生效的時間
    notAfter=Aug 22 16:52:34 2026 GMT   # 證書過期的時間
    
  • curl 遠程監控

    curl -Lv https://www.baidu.com |& grep 'expire date'
    

3)監控腳本

  • 檢查單個指定的網站的 HTTPS 證書過期時間

    vim check_https_cert.sh
    chmod 755 check_https_cert.sh
    
    #!/bin/bash#=============================
    # 1. 基礎變量
    #    URL: 定義指定的網站
    #    LANG: 臨時改為英文環境,避免 date 解析報錯
    #=============================
    URL="https://www.jd.com"
    export LANG="en_US.UTF-8"#=============================
    # 2. 獲取證書過期時間戳
    #    curl -Lv:顯示詳細信息并跟隨重定向
    #    egrep 'expire date':提取證書過期時間
    #=============================
    EXPIRE_DATE_RAW=$(curl -Lv "${URL}" -o /dev/null 2>&1 | grep -i 'expire date' | awk -F 'date:|GMT' '{print $2}')
    EXPIRE_SECOND=$(date -d "${EXPIRE_DATE_RAW}" +%s)#=============================
    # 3. 獲取當前時間戳
    #=============================
    NOW_SECOND=$(date +%s)#=============================
    # 4. 計算剩余天數
    #=============================
    EXPIRE_DAYS=$(( (EXPIRE_SECOND - NOW_SECOND) / 86400 ))#=============================
    # 5. 輸出結果
    #=============================
    if [ "${EXPIRE_DAYS}" -le 300 ]; thenecho "[警告] ${URL} 的 HTTPS 證書即將過期,還有 ${EXPIRE_DAYS} 天"
    elseecho "[正常] ${URL} 的 HTTPS 證書還剩 ${EXPIRE_DAYS} 天"
    fi
    
  • 檢查多個指定網站的HTTPS 證書過期時間

    vim check_https_cert.sh
    chmod 755 check_https_cert.sh
    
    #!/bin/bash#=============================
    # 1. 基礎變量
    #    LANG: 臨時改為英文環境,避免 date 解析報錯
    #    URLS: 定義要檢測的多個網站
    #=============================
    URLS=("https://www.jd.com" "https://www.baidu.com" "https://www.taobao.com")
    export LANG="en_US.UTF-8"#=============================
    # 2. 遍歷檢測每個 URL 的證書有效期
    #=============================
    for URL in "${URLS[@]}"; do# 2.1 獲取證書過期時間(原始格式)EXPIRE_DATE_RAW=$(curl -Lv "${URL}" -o /dev/null 2>&1 | grep -i 'expire date' | awk -F 'date:|GMT' '{print $2}')# 2.2 轉換為時間戳EXPIRE_SECOND=$(date -d "${EXPIRE_DATE_RAW}" +%s)# 2.3 當前時間戳NOW_SECOND=$(date +%s)# 2.4 計算剩余天數EXPIRE_DAYS=$(( (EXPIRE_SECOND - NOW_SECOND) / 86400 ))#=============================# 3. 輸出結果#=============================if [ "${EXPIRE_DAYS}" -le 300 ]; thenecho "[警告] ${URL} 的 HTTPS 證書即將過期,還有 ${EXPIRE_DAYS} 天"elseecho "[正常] ${URL} 的 HTTPS 證書還剩 ${EXPIRE_DAYS} 天"fi
    done
    

總結

本文從理論到實踐,詳細闡述了HTTPS如何為HTTP協議提供加密、認證和完整性保護,從而構筑現代Web安全的核心防線。我們不僅剖析了TLS握手的工作流程,動手創建了自簽名證書,更通過多個漸進式的實戰案例(單點HTTPS/HTTP2、重定向、集群配置)展示了如何在復雜的生產環境中應用它。

  • 💎 核心價值:HTTPS已不再是可選項,而是現代網站的標配。它保護用戶隱私、提升網站信譽(瀏覽器安全標識🔒)、同時也是使用HTTP/2等現代協議的前提條件。

  • ?? 實踐意義:本文提供的案例和優化、監控方案,源自于真實的運維場景。正確地配置HTTPS(如選擇安全的密碼套件、開啟HSTS、配置重定向)和建立有效的監控(如證書過期監控),是保障服務穩定性和安全性的關鍵。

  • 🔮 未來方向:安全是一個持續的過程。TLS協議版本和推薦的加密套件也在不斷更新以應對新的威脅。自動化(如使用Let’s Encrypt自動續期證書)和更嚴格的安全策略(如預加載HSTS)是未來的發展趨勢。

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

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

相關文章

MySQL數據備份與恢復全攻略

一、數據備份與恢復按照備份方式分類:物理備份,直接復制數據庫的物理文件,可以直接拷貝和恢復;邏輯備份,通過SQL語句導出數據庫結構和數據,可用于不同版本和不同類型的MySQL數據庫之間的數據遷移。按照數據…

單機多卡間大張量傳輸迷惑行為?

老鐵們我最近真的好慘😭,一個大模型在單機多卡上運行就是出錯,debug看的老眼昏花,最后發現大張量在設備間直接傳輸會有很發癲的行為,還請大家幫我看看🙇?摒棄屎山一樣的代碼,簡單運行下列腳本i…

無法將“pnpm”項識別為 cmdlet、函數、腳本文件或可運行程序的名稱。請檢查名稱的拼寫,如果包括路徑,請確保路徑正確,然后再試一次。

1 問題描述今天使用pnpm安裝如下報錯:pnpm : 無法將“pnpm”項識別為 cmdlet、函數、腳本文件或可運行程序的名稱。請檢查名稱的拼寫,如果包括路徑,請確保路徑正確,然后再試一次。 所在位置 行:1 字符: 1pnpm install~~~~ Categor…

內核編譯 day61

二:內核啟動 一:流程 sudo vim /etc/network/interfaces sudo chmod 0666 /etc/default/tft...... //修改可讀uboot命令: help/? : 幫助手冊,列出uboot支持的所有命令 printenv/print 打印環境變量 sete…

【YOLOv5部署至RK3588】模型訓練→轉換RKNN→開發板部署

已在GitHub開源與本博客同步的YOLOv5_RK3588_object_detect項目,地址:https://github.com/A7bert777/YOLOv5_RK3588_object_detect/tree/main 詳細使用教程,可參考README.md或參考本博客第六章 模型部署 文章目錄一、項目回顧二、模型選擇介紹…

Telematics Control Unit(TCU)的系統化梳理

1、Telematics Control Unit (TCU)概述 TCU中文名為遠程信息處理控制單元,很多場合都稱為Telematics Box,又叫TBox,顧名思義,一般都為一個獨立的盒子(如圖2、圖3所示),負責和云端的遠程信息交互…

Appium學習筆記

adb構成client端,在電腦上,負責發送adb命令daemon守護進程,在手機上,負責接收和執行adb命令server端,在電腦上,負責管理client和daemon之間的通信![[Pasted image 20250825201322.png]]包名,對應…

棧指針(Stack Pointer)是什么?

棧指針(Stack Pointer)是什么? 首先,用一個簡單易懂的方式解釋棧指針(Stack Pointer)。 核心比喻:摞起來的書 想象有一摞書整齊地堆在桌面上: 這摞書就是“棧”(Stack),它是一種后進先出(LIFO) 的數據結構。你只能從最頂部拿走一本書(“彈出”),或者把一本新…

數據結構:紅黑樹(Red-Black Tree)

目錄 從AVL樹的“煩惱”說起 如何用“顏色”來定義“大致平衡”?—— 紅黑樹的五個規則 五個規則如何保證“大致平衡”? 用 C/C 代碼定義紅黑樹的結構 定義顏色和節點結構 定義樹的結構和哨兵節點 從AVL樹的“煩惱”說起 我們從已經了解的 AVL 樹出…

Ubuntu22.04安裝VMware Tools

文章目錄前言安裝open-mv-tools前言 本教程使用的版本是Ubuntu22.04.5,由于虛擬機上面的重新安裝VMware Tools是灰的,于是自動下載安裝open-mv-tools, 安裝open-mv-tools 打開終端,更新一下 sudo apt update這一步可能需要先…

DBeaver連接SQL Server時添加驅動后仍提示找不到驅動的解決方法

DBeaver連接SQL Server時添加驅動后仍提示找不到驅動的解決方法 在使用DBeaver連接SQL Server時,即使您已手動添加驅動文件,系統仍提示“找不到驅動”,這通常是由驅動配置錯誤、版本不兼容或SQL Server設置問題引起的。以下我將逐步為您提供解…

JVM之【類加載系統】

目錄 前言 類加載過程 類加載 執行過程 加載階段 連接階段 初始化階段 類加載器 BootstrapClassLoader ExtClassLoader AppClassLoader 類加載器之間的關系 雙親委派機制 核心思想 好處 源碼分析 類加載器之間的父子層級關系 雙親委派的體現 前言 上文中提到…

【 限流技術 | 從四大限流算法到Redisson令牌桶實踐 】

引言:為什么需要限流?在現代分布式系統中,服務的穩定性是至關重要的。在遇到突發的請求量激增,惡意的用戶訪問,亦或是請求頻率過高給下游服務帶來較大壓力時,我們常常需要通過緩存、限流、熔斷降級、負載均…

深入解析Java NIO多路復用原理與性能優化實踐指南

深入解析Java NIO多路復用原理與性能優化實踐指南 技術背景與應用場景 在高并發網絡編程中,傳統的阻塞 I/O 模型往往因每個連接都占用一個線程或一個系統調用而導致線程資源浪費、線程切換開銷劇增等問題,難以滿足數萬甚至數十萬并發連接的負載要求。Jav…

目標檢測數據集 第006期-基于yolo標注格式的汽車事故檢測數據集(含免費分享)

目錄 目標檢測數據集 第006期-基于yolo標注格式的汽車事故檢測數據集(含免費分享) 超實用汽車事故檢測數據集分享,助力計算機視覺研究! 1、背景 2、數據詳情 數據集基本信息 結構組成 標注格式與示例 類標簽說明 數據增強情況 3、應用場景 4、…

應用密碼學(書籍學習筆記、基礎知識) 一

本博客為讀《應用密碼學》所得筆記 文章目錄一、 加密與解密1.2 秘鑰Key1.2.1 引入秘鑰K1.2.2 加密秘鑰K1,解密秘鑰K2二、對稱算法 VS 公開密鑰算法**① 對稱算法** - 傳統密碼算法 **(Symmetric Algorithm) 🔑****② 非對稱算法特點** - 公開秘鑰算法 *…

【攻防世界】Web_php_include

1.信息收集題目&#xff1a;Web_php_include &#xff1a;PHP文件包含漏洞2.思路&#xff1a;1.代碼審計&#xff1a;<?php show_source(__FILE__); echo $_GET[hello]; $page$_GET[page]; while (strstr($page, "php://")) { //在一個字符串中查…

cmake--CPack/deb

deb包的需求 怎么使用cmake把項目的依賴想打包為deb包,把項目的可執行文件和依賴文件打包為deb包,又怎么樣配置apt源,讓項目在jenkins構建之后,可以通過sudo apt install 下載deb包和安裝到任意主機上? 整體流程概覽 使用CMake構建項目:確保你的項目可以被CMake正確編譯…

七十五、【Linux數據庫】部署Redis服務 、 部署LNMP+Redis

Redis 與 LNMP 集成功能概述 Redis 核心功能 內存數據存儲:高速讀寫性能 數據結構豐富:字符串、哈希、列表、集合等 持久化支持:RDB快照和AOF日志 發布訂閱:消息隊列功能 高可用:主從復制、哨兵模式、集群 LNMP+Redis 集成價值 會話共享:多Web服務器共享Session 數據緩存…

從YOLOv5到RKNN:零沖突轉換YOLOv5模型至RK3588 NPU全指南

從YOLOv5到RKNN&#xff1a;零沖突轉換YOLOv5模型至RK3588 NPU全指南 在嵌入式AI領域&#xff0c;將訓練好的深度學習模型高效部署到邊緣設備的NPU&#xff08;神經網絡處理器&#xff09;上是提升性能的關鍵。本文將詳細介紹如何在Ubuntu 20.04環境下&#xff0c;將YOLOv5l模型…