Linux中Https配置與私有CA部署指南

Linux中Https配置與私有CA部署指南

一、HTTPS 核心概念

特性HTTPHTTPS
協議明文傳輸HTTP + SSL/TLS
端口80443
加密未加密數據加密

二、SSL/TLS 握手流程

  1. Client → Server
    • ClientHello:支持哪些版本、支持哪些加密算法,隨機生成一組32字節數據 random_c
  2. Server → Client
    • ServerHello:確定版本、確定加密算法,隨機生成一組32字節數據 random_s
    • ServerCertificate:發送證書(含公鑰)
  3. Client → Server
    • ClientKeyExchange:用公鑰加密預主密鑰 pre_master 并發送
  4. Server 解密
    • 服務端收到后,用私鑰解密 pre_master
  5. 生成會話密鑰
    • 最終密鑰 = random_c + random_s + pre_master

三、私有CA部署

注意:所有操作需確保 DNS 解析正確(如 ca.example.comweb.example.com 等)。

1、CA 服務器配置
  1. 配置正向解析對應IP地址

    vim /var/named/yyh.comca      IN      A       192.168.100.10
    
  2. 為主機CA生成私鑰

    (umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem)
    # umask為權限減去的值
    # openssl genrsa為生成私有密鑰
    
  3. 為主機CA生成自簽名證

    openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out 	/etc/pki/CA/cacert.pem -days 365
    # 生成自簽名根證書CN					# 國家
    HB					# 省份
    WH					# 城市
    LQ					# 公司
    linux				# 單位
    ca.example.com		# 服務器主機名
    root@example.com	# 郵箱
    

    在這里插入圖片描述

  4. 為CA提供所需的目錄及文件:

    touch /etc/pki/CA/index.txt			# 創建目錄
    echo 01 > /etc/pki/CA/serial		# 創建并寫入文件
    
2、Web 服務器申請證書
  1. 驗證能否解析 ca.example.com

    nslookup ca.example.com				# 對 ca.example.com 進行解析
    

    在這里插入圖片描述

  2. 為主機WEB生成私鑰

    mkdir /etc/httpd/ssl										# 創建/etc/httpd/ssl目錄
    (umask 077;openssl genrsa -out /etc/httpd/ssl/httpd.key)	# 存放在/etc/httpd/ssl目錄
    
  3. 為web.example.com站點生成簽署請求文件

    openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 365
    # 生成證書簽名請求CN					# 國家
    HB					# 省份
    WH					# 城市
    LQ					# 公司
    linux				# 單位
    web.example.com		# 服務器主機名
    root@example.com	# 郵箱
    

    在這里插入圖片描述

  4. 將簽署請求文件發送給CA服務器

    scp -p /etc/httpd/ssl/httpd.csr root@ca.example.com:/etc/pki/CA/
    # 遠程復制
    
3、CA 簽署證書
  1. 在主機CA上 對簽署請求進行數字簽名

    openssl ca -in /etc/pki/CA/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365
    # 指明所生成的Web證書的存放路徑為 /etc/pki/CA/certs/httpd.crt
    

    在這里插入圖片描述

  2. 將CA主機上已經數字簽名后的Web證書發給Web主機

    scp -p /etc/pki/CA/certs/httpd.crt root@web.example.com:/etc/httpd/ssl/
    # 遠程復制
    
4、部署https站點
  1. 在主機WEB上安裝apche http擴展模塊mod_ssl

    yum -y install mod_ssl		# yum 安裝 mod_ssl
    
  2. 修改 SSL 配置

    vim /etc/httpd/conf.d/ssl.conf		# 編輯 ssl 配置文件SSLCertificateFile /etc/httpd/ssl/httpd.crt			# 證書SSLCertificateKeyFile /etc/httpd/ssl/httpd.key		# 私鑰
    

    在這里插入圖片描述

  3. 配置虛擬主機

    vim httpd-vhosts.conf		# 編輯主配置文件<VirtualHost 192.168.100.20:443>						# IP 地址和端口號DocumentRoot "/var/www/html"						# 告訴配置文件位置在哪里ServerName web.eaxmple.com							# 完整域名SSLEngine on										# 啟用 SSL 引擎SSLCertificateFile /etc/httpd/ssl/httpd.crt			# 證書位置SSLCertificateKeyFile /etc/httpd/ssl/httpd.key		# 私玥位置</VirtualHost>systemctl restart httpd
    

    在這里插入圖片描述

5、客戶端信任私有 CA
  1. 在客戶端上去下載CA服務器上的根證書

    scp  root@ca.example.com:/etc/pki/CA/cacert.pem  /root
    # 遠程復制
    
  2. 在Web主機創建網頁

    echo 123456 > /var/www/html/index.html		# 創建并寫入文件
    
  3. 在客戶端驗證

    curl -k https://web.example.com				# 訪問網址
    

    在這里插入圖片描述

6、集成動態web
  1. 安裝httpd mod_wsgi

    yum -y install mod_wsgi			# yum 安裝 mod_wsgi
    
  2. 上傳動態web內容:

    在這里插入圖片描述

  3. 配置虛擬主機

    mv python.txt test.py								# 把 python.txt 更名為 test.pyvim /etc/httpd/conf.d/httpd-vhosts.conf				# 編輯主配置文件<VirtualHost 192.168.100.20:80>					# IP 地址和端口號DocumentRoot "/var/www/wsgi"				# 告訴配置文件位置在哪里WSGIScriptAlias / "var/www/wsgi/test.py"	# 別名ServerName lq.example.com					# 完整域名</VirtualHost>systemctl restart httpd								# 重啟服務
    
  4. 訪問驗證

    在這里插入圖片描述

  5. 修改虛擬主機

    vim /etc/httpd/conf.d/httpd-vhosts.conf				# 編輯主配置文件<VirtualHost 192.168.100.20:80>					# IP 地址和端口號DocumentRoot "/var/www/wsgi"				# 告訴配置文件位置在哪里ServerName lq.example.com					# 完整域名</VirtualHost>systemctl restart httpd								# 重啟服務
    
  6. 訪問驗證

    在這里插入圖片描述

關鍵命令說明

命令選項作用
-x509生成自簽名證書(用于創建 CA)
-new生成證書簽名請求 (CSR)
-key指定私鑰文件路徑
-out指定輸出文件路徑
-days設置證書有效期(默認 365 天)

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

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

相關文章

【軟考架構】主流數據持久化技術框架

JDO與JPA JDO&#xff08;Java Data Objects&#xff09;和JPA&#xff08;Java Persistence API&#xff09;都是Java中用于對象持久化的規范&#xff0c;但它們在設計目標、技術背景和應用場景上存在顯著區別。以下是兩者的核心對比&#xff1a;1. 規范背景與維護方 JDO&…

服務日志、監控

服務怎么做監控和告警使用 Prometheus 和 Grafana 來實現整個微服務集群的監控和告警&#xff1a;Prometheus&#xff1a;Prometheus 是一個開源的監控系統&#xff0c;具有靈活的數據模型和強大的查詢語言&#xff0c;能夠收集和存儲時間序列數據。它可以通過 HTTP 協議定期拉…

秋招筆記-8.12

我決定從今天開始&#xff0c;在每天的學習內容中加入算法的內容&#xff0c;大致分布時間的話&#xff0c;假設我一天可以學習八個小時&#xff0c;那算法兩個小時&#xff0c;八股三個小時&#xff0c;項目三個小時這樣的分布差不多吧。之所以還是需要做做筆試一是為了應對面…

【從0帶做】基于Springboot3+Vue3的校園表白墻系統

大家好&#xff0c;我是武哥&#xff0c;最近給大家手擼了一個基于SpringBoot3Vue3的校園表白墻系統&#xff0c;可用于畢業設計、課程設計、練手學習&#xff0c;系統全部原創&#xff0c;如有遇到網上抄襲站長的&#xff0c;歡迎聯系博主~ 資料獲取方式 請點開作者頭像看下…

【Linux系列】服務器 IP 地址查詢

博客目錄一、hostname 命令&#xff1a;簡單高效的 IP 查詢工具命令詳解實際應用技巧注意事項二、ip 命令&#xff1a;新一代網絡配置全能工具基本用法在服務器管理和網絡運維中&#xff0c;快速準確地獲取服務器的 IP 地址是一項基本但至關重要的技能。無論是進行遠程連接、配…

【完美解決】在 Ubuntu 24.04 上為小米 CyberDog 2 刷機/交叉編譯:終極 Docker 環境搭建指南

摘要 本文旨在為廣大開發者提供一份在非官方推薦的 Ubuntu 24.04 系統上&#xff0c;成功為小米機器狗 CyberDog 2 進行刷機和交叉編譯的終極解決方案。通過層層排查 setup.sh 依賴缺失、No devices to flash 以及交叉編譯 Segmentation fault 等疑難雜癥&#xff0c;我們發現根…

XX生產線MES系統具體實施方案

一、系統架構設計1. 整體架構圖2. 技術組件清單模塊技術選型部署要求應用服務Spring Boot 3.2 Spring CloudKubernetes Pod (4C8G)實時通信Kafka 3.6 WebSocket3節點集群工業協議Eclipse Milo (OPC UA)獨立服務器 (2C4G)數據庫PostgreSQL 15 TimescaleDB 2.10SSD存儲, 主從復…

Go語言實戰案例:使用模板渲染HTML頁面

在 Web 開發中&#xff0c;身份驗證是一個繞不開的話題。傳統的 Session 機制依賴服務器存儲用戶狀態&#xff0c;而在微服務、分布式架構下&#xff0c;這種方式可能會導致狀態同步困難。 JWT&#xff08;JSON Web Token&#xff09;是一種無狀態的、跨平臺的身份驗證解決方案…

@RequestMapping接收文件格式的形參(方法參數)

需求&#xff1a;將文件上傳到OSS&#xff0c;忽略域名與路徑&#xff0c;將文件名以 “img1.png,img2.png,img3.png”保存到數據庫中 1、先看結果 后端要接收postman傳遞的file文件2、SpringBoot接收參數方式 很顯然&#xff0c;上面postman上傳的地方可以傳入多個文件&#x…

【數據分享】2020-2022年我國鄉鎮的逐日最高氣溫數據(Shp/Excel格式)

之前我們分享過2020—2022年中國0.01分辨率逐日最高氣溫柵格數據&#xff08;可以查看之前的文章獲悉詳情&#xff09;&#xff01;該數據是研究者張凌, 胡英屹等發布在國家冰川凍土沙漠科學數據中心平臺上的高分辨最高氣溫數據。很多小伙伴拿到數據后反饋柵格數據不太方便使用…

為什么C++主函數 main 要寫成 int 返回值 | main(int argc, char* argv[]) 這種寫法是什么意思?

主函數 main 要寫成 int 返回值&#xff1f;main(int argc, char* argv[]) 為什么里面沒有 cin 也能讀到數據&#xff0c;數據是怎么傳進去的&#xff1f;本文將一步步回答這些問題。1. 為什么 main 要寫成 intC 標準&#xff08;ISO/IEC 14882&#xff09;規定&#xff0c;mai…

【oracle閃回查詢】記錄字段短時間被修改的記錄

SELECT versions_starttime, versions_endtime, versions_operation, versions_xid, [字段1], [字段2] – 替換為實際字段名 FROM 表名 VERSIONS BETWEEN TIMESTAMP SYSTIMESTAMP - INTERVAL ‘15’ MINUTE AND SYSTIMESTAMP --15分鐘內 WHERE id ‘目標ID’ – 指定記錄的唯…

【軟考中級網絡工程師】知識點之 IP 組播技術:從原理到實戰

目錄一、IP 組播技術概述1.1 什么是 IP 組播1.2 IP 組播與其他傳輸方式對比二、IP 組播地址詳解2.1 IPv4 組播地址范圍及分類2.2 特殊 IPv4 組播地址示例2.3 IPv6 組播地址結構與特點2.4 IP 組播地址與 MAC 地址的映射關系三、IP 組播協議剖析3.1 IGMP 協議深度解析3.2 PIM 協議…

Akamai Bot Manager智能防護體系解析:邊緣計算與AI驅動的反爬蟲技術

{ “title”: “Akamai Bot Manager智能防護體系解析&#xff1a;邊緣計算與AI驅動的反爬蟲技術”, “tags”: “Akamai,Bot Manager,邊緣計算,反爬蟲,CDN安全,機器學習,威脅檢測,網絡安全”, “description”: “深度剖析Akamai Bot Manager的邊緣計算架構、機器學習檢測引擎、…

IIS Express中可以同時加載并使用.net4.0和.NET 2.0的 DLL

<add name"HttpHandler" path"UploadHttpHandler.ashx" verb"*" type"ABC.HttpHandler, ABC"/> </handlers> 如果IIS EXPRESS是加載4.0的環境&#xff0c;可以加載.NET 2.0的DLL嗎&#xff1f;在 IIS Express 中&#xff…

STM32 ESP8266 WiFi模塊驅動

STM32 ESP8266 WiFi模塊驅動 1. 簡介 ESP8266是一款高度集成的WiFi芯片&#xff0c;可以為其他設備提供WiFi聯網功能。本筆記記錄了基于STM32 HAL庫的ESP8266驅動實現&#xff0c;包括硬件連接、初始化配置、AT指令交互等關鍵部分。 項目源碼倉庫&#xff1a;STM32_Sensor_D…

7 種最佳 DBAN 替代方案,徹底擦除硬盤數據

DBAN&#xff08;Darik 的 Boot and Nuke&#xff09;長期以來一直是安全擦除計算機數據的首選解決方案。然而&#xff0c;盡管 DBAN 廣受歡迎&#xff0c;但它也存在一些明顯的局限性&#xff0c;這些局限性隨著時間的推移變得越來越明顯。現在&#xff0c;本文將更詳細地探討…

【K8s】K8s控制器——Deamonset、Statefulset、Job與CronJob

1、Deamonset2、Statefulset3、Job與CronJob一次性作業與周期性作業#- 8.6 #cat > daemonset.yml <<EOF apiVersion: apps/v1 kind: DaemonSet metadata:name: test-demonsetlabels:daemonset: test spec:selector:matchLabels:name: testpodtemplate:metadata:labels…

基于柔性管控終端的新能源汽車充電站有序充電系統設計與實現

摘要&#xff1a;隨著新能源汽車的迅猛發展&#xff0c;充電基礎設施面臨著電力負荷激增、電網穩定性下降等挑戰。本文針對當前充電設施無序充電導致的電網壓力問題&#xff0c;提出了一種基于柔性管控終端的充電站有序充電系統解決方案。通過分析國內外有序充電技術發展現狀&a…

10-docker基于dockerfile自動制作鏡像

文章目錄一.為什么要學習自動構建鏡像1.為什么要學習自動化構建鏡像2.根據dockerfile自動構建鏡像的流程3.常用的dockerfile指令二.使用dockerfile構建nginx服務鏡像&#xff08;FR0M&#xff0c;RUN&#xff0c;CMD&#xff09;1.創建dockerfile的存儲路徑2.編寫dockerfile文件…