SSL 證書

自動獲取 Let's Encrypt?免費證書

(適用于 Linux 系統)?

安裝 Certbot
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx ?# Nginx 服務器
sudo apt-get install certbot python3-certbot-apache ?# Apache 服務器

獲取和安裝證書
sudo certbot --nginx
sudo certbot --apache
admin@debian.com
Y 同意協議
Y 同意分享電子郵件
1,2,3,4 多個域名一起


配置自動更新
Let's Encrypt 證書的有效期為 90 天。為了保持證書的有效性,建議設置自動更新任務。Certbot 默認會創建一個 cron 任務來自動更新證書。
可以通過以下命令手動測試自動更新任務
sudo certbot renew --dry-run

手動獲取 Let's Encrypt 免費證書(通用方法)

安裝 Certbot
sudo apt-get update
sudo apt-get install certbot
sudo certbot certonly --standalone -d yourdomain.com

配置證書
獲取證書后,將證書和私鑰配置到你的服務器軟件(如 Nginx 或 Apache)中。通常,Certbot 會將證書和私鑰存放在 /etc/letsencrypt/live/yourdomain.com/ 目錄下。

自動更新
設置自動更新任務以保持證書的有效性。可以通過 cron 任務來定期執行 Certbot 的更新命令:
sudo crontab -e
0 0 * * * certbot renew --quiet
以上為每天午夜執行證書的自動更新檢查

配置 Nginx 或 Apaceh

自建證書

vhost.ext??域名證書附加配置信息

create_cert.sh?創建證書到 ca(中間證書 )?以及 certs?兩個目錄下

CA.bat?導入證書到 windows?里的?受信任的根證書頒發機構,?也可手動?certmgr.msc?添加

vhost.ext

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names[alt_names]
DNS.1 = localhost
IP.2 = 127.0.0.1
IP.3 = 192.168.1.90
DNS.4 = *.yiparts.debian
DNS.5 = admin.yiparts.debian
DNS.6 = world.yiparts.debian

IP.2 = 192.168.1.90    ? ? ? ?
表示https要訪問的ip,IP.3也是ip,ssl證書說明可以自簽多個ip,這是自簽ip的證書

DNS.4 = demo.yiparts.debian    
表示https要訪問的域名,DNS.5,DNS.6都一樣是域名,ssl證書說明可以自簽多個域名,這是自簽域名的證書

?create_cert.sh

執行?sudo ./create_cert.sh demo.yiparts.debian

#create_cert.sh
#!/bin/bashsudo mkdir -p ca
sudo mkdir -p certs# 設置域名變量
# 接收參數
# 第一個參數是域名, 例 sudo ./create_cert.sh demo.yiparts.debian
DOMAIN="$1"
# 檢查是否傳遞了參數
if [ -z "$DOMAIN" ]; thenecho "請輸入一個域名: $0 <domain>"exit 1
fi
# 提取基礎域名部分
if [[ "$DOMAIN" == *"*."* ]]; thenecho "自簽證書泛域名會被瀏覽器提示不安全"exit 1
fi# 證書文件名
GUID=$DOMAIN
CA="CA-$GUID"
EMAIL="admin@qg.com"# 去 CA 目錄
cd ca# 生成 CA 私鑰 需要設置密碼否則會被瀏覽器提示不安全
sudo openssl genrsa -des3 -out "$CA.key" 2048# 生成 CA 證書 100年
sudo openssl req -x509 -new -nodes -key "$CA.key" -sha256 -days 36500 -out "$CA.crt" -subj "/CN=$DOMAIN/O=Qg Inc/OU=It/L=Guang Zhou/ST=Guang Dong/C=CN/emailAddress=$EMAIL"# 去 CERTS 目錄
cd ..
cd certs# 生成 SSL 私鑰
sudo openssl genrsa -out "$GUID.key" 2048# 生成 SSL 證書請求(CSR)
sudo openssl req -new -key "$GUID.key" -out "$GUID.csr" -subj "/CN=$DOMAIN/O=Qg Inc/OU=It/L=Guang Zhou/ST=Guang Dong/C=CN/emailAddress=$EMAIL"# 使用 CA 證書簽署 SSL 證書,有效期 100 年
sudo openssl x509 -req -in "$GUID.csr" -out "$GUID.crt" -days 36500 -CA "../ca/$CA.crt" -CAkey "../ca/$CA.key" -CAcreateserial -extfile "../vhost.ext"# 查看簽署的證書信息
sudo openssl x509 -in "$GUID.crt" -noout -text# 驗證 SSL 證書
sudo openssl verify -CAfile "../ca/$CA.crt" "$GUID.crt"echo "所有操作已完成。"

CA.bat??

@echo offchcp 65001 > nulfor %%f in (CA\*.crt) do (echo 導入 %%f 證書C:\Windows\System32\certutil -store Root | findstr /C:"%%~nf" > nulif errorlevel 1 (C:\Windows\System32\certutil -addstore -f "Root" "%%f") else (echo 證書 %%f 已經導入,跳過)
)
echo  
echo 證書已成功導入到受信任的根證書頒發機構
pause

Nginx?配置

server {listen 443 ssl;ssl_certificate /home/qg/ssl/certs/demo.yiparts.debian.crt;  ssl_certificate_key /home/qg/ssl/certs/demo.yiparts.debian.key;  ssl_session_timeout 5m;ssl_session_cache shared:SSL:50m;ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;    server_name demo.yiparts.debian;root /home/wwwroot/project/yiparts;  #網站根目錄index index.php index.html index.htm;# Message Websocket 的 SSL 代理服務# php messageWorker.php -d start 守護進程方式啟動 Websocket, 其它 start,restart,stop, ps -aux | grep messageWoker# 測試 https://demo.yiparts.debian/wss 是否正常# 使用域名連接 wss://demo.yiparts.debian/wss# 如果還是連接失敗, 檢查域名白名單 cfg('websocket>whiteList')location /wss{proxy_pass http://127.0.0.1:8181; # swoole 或 workerman 提供的 Websocket 監聽地址:端口proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upgrade";proxy_set_header X-Real-IP $remote_addr; # 透傳真實客戶端ip, $_SERVER['HTTP_X_REAL_IP']}# 靜態文件location ~ ^/(static|files|cache)/ {try_files $uri =404;  # /xxx/開頭的網址直接尋找對應的文件輸出,不管文件是否存在}# 這些放入上面的 /xxx/目錄下#location ~* \.(htm|js|ts|css|jpg|jpeg|png|gif|ico|svg)$ {#    #ttf|eot|woff|woff2|zip|gz|pdf|xml|txt|tiff|xls|xlsx|doc|docx|ppt|pptx|cad|mp3|mp4 #    try_files $uri =404;  # 以 .xxx 結尾的直接尋找對應的文件輸出,不管文件是否存在#}# XMVC 入口文件 index.phplocation / {try_files $uri $uri/ /index.php?$query_string; # 除前面的直接輸出規則外所有的請求交給 index.php}# PHP 代理fastcgi_read_timeout 600s; # 開發環境下增加 FastCGI 超時時間, 用于 xdebug 調試用location ~ \.php$ {include snippets/fastcgi-php.conf;fastcgi_pass unix:/run/php/php8.2-fpm.sock;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;# 開發環境下  禁用 OPcachefastcgi_param PHP_ADMIN_VALUE "opcache.enable=0";# 開發環境下 添加開發者頭信息fastcgi_param X_DEVELOP "1";}
}

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

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

相關文章

小米rdemi紅米ax3000t刷機 20240707最新配套完整程序整理合集

小米rdemi紅米ax3000t刷機程序地址&#xff1a; https://www.123pan.com/s/LA1bVv-EOzVv.html 小米路由器SSH密碼計算器 https://www.1234f.com/fuwu/ax3000t/ 最新更新地址&#xff1a;https://www.1234f.com/fuwu/openwrt/ 依次輸入如下命令&#xff1a; curl -X POST h…

Leetcode 295.數據流的中位數

295.數據流的中位數 問題描述 中位數是有序整數列表中的中間值。如果列表的大小是偶數&#xff0c;則沒有中間值&#xff0c;中位數是兩個中間值的平均值。 例如 arr [2,3,4] 的中位數是 3 。例如 arr [2,3] 的中位數是 (2 3) / 2 2.5 。 實現 MedianFinder 類: Media…

算法013:水果成籃

水果成籃. - 備戰技術面試&#xff1f;力扣提供海量技術面試資源&#xff0c;幫助你高效提升編程技能,輕松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/fruit-into-baskets/ 這道題題目很長&#xff0c;仔細閱讀過后&#xff0c;我們其實可以簡化成&#xff…

MySQL 9.0新特性:向量存儲

MySQL 9.0 正式版已經發布&#xff0c;其中一個亮點就是向量&#xff08;VECTOR&#xff09;數據類型的支持&#xff0c;本文給大家詳細介紹一下這個新功能。 向量類型 MySQL 9.0 增加了一個新的向量數據類型&#xff1a;VECTOR。它是一種可以存儲 N 個數據項的數據結構&…

Redis Stream:實時數據流的處理與存儲

Redis Stream:實時數據流的處理與存儲 引言 在當今數據驅動的世界中,實時數據處理和存儲成為了許多應用的核心需求。Redis Stream作為一種新興的數據結構,為Redis帶來了強大的流處理能力。本文將深入探討Redis Stream的特點、使用場景以及如何高效地利用它來處理實時數據流…

聚焦數字創新,定義影像未來

國際數字影像產業園在明確產業定位與發展方向時&#xff0c;應聚焦于數字影像、文創、媒體等新興產業領域&#xff0c;以技術創新為核心動力、產業升級為保障、市場拓展為途徑、國際化發展為方向&#xff0c;推動園區的持續健康發展。 作為園區的核心產業&#xff0c;數字影像產…

python socks5代理的使用

需要安裝依賴 1、解決方法1 In order to make requests use socks proxy, you need to install it with it’s dependency. pip install requests[socks]2、解決方法2 pip install PySocks

第二證券股市知識:股票填權是怎么回事?利好還是利空?

1、股票填權的含義 股票填權是指在除權除息之后的一段時刻內&#xff0c;假設多數投資者看好該個股&#xff0c;股票的價格超過除權除息的基準價就叫做填權。上市公司假設能持續分紅&#xff0c;就會向市場傳遞積極信號&#xff0c;招引更多投資者買入&#xff0c;越來越多的投…

使用Livox-Mid360激光雷達,復現FAST_LIO(保姆級教程)

前面我已經完成了mid360激光雷達的驅動安裝&#xff0c;octomap的復現&#xff0c;昨天我去把這倆在正式環境中實測了一下&#xff0c;效果不好&#xff0c;走廊轉角沒建出來&#xff0c;我查了一下&#xff0c;應該是TF的原因&#xff0c;但這部分我還不太懂&#xff0c;看到有…

云計算【第一階段(28)】DNS域名解析服務

一、DNS解析的定義與作用 1.1、DNS解析的定義 DNS解析&#xff08;Domain Name System Resolution&#xff09;是互聯網服務中的一個核心環節&#xff0c;它負責將用戶容易記住的域名轉換成網絡設備能夠識別和使用的IP地址。一般來講域名比 IP 地址更加的有含義、也更容易記住…

2024世界人工智能大會:deepin引領AI與操作系統融合新時代

內容來源&#xff1a;deepin&#xff08;深度&#xff09;社區 7月4日&#xff0c;WAIC 2024在上海拉開帷幕。大會圍繞核心技術、智能終端、應用賦能三大板塊&#xff0c;聚焦大模型、算力、機器人、自動駕駛等重點領域&#xff0c;集中展示一批“人工智能”創新應用最新成果。…

【web前端HTML+CSS+JS】--- JS學習筆記03

一、JS介紹 可以在前端頁面上進行邏輯處理&#xff0c;來解決表單的驗證等問題&#xff0c;提升效率&#xff0c;直接在前端提示問題&#xff0c;減少服務器壓力 應用1&#xff1a;可以做靜態驗證和動態驗證&#xff08;進行異步請求&#xff09; 應用2&#xff1a;可以解析后…

monad理解

每個學習monad的人都要寫一份自己理解的monad。然后還是包括自己沒人能看到自己在寫啥&#xff0c;而且大部分寫的還是錯誤的。 距離學習monad有接近2周了&#xff0c;已經挺模糊了。 monad我理解有兩個基本作用&#xff1a; 1. 能夠對全部的返回值做鏈式調用。只能封裝成mona…

學習數據庫2

在數據庫中創建一個表student&#xff0c;用于存儲學生信息 查看建表結果 向student表中添加一條新記錄 記錄中id字段的值為1&#xff0c;name字段的值為"monkey"&#xff0c;grade字段的值為98.5 并查看結果 向student表中添加多條新記錄 2,"bob"…

鴻蒙開發小案例(名片管理))

鴻蒙開發小案例&#xff08;名片管理&#xff09; 1、頁面效果1.1 初始頁面1.2 點擊名片展開1.3 點擊收藏1.4 點擊編輯按鈕 2、實現代碼2.1 DataModel.ets2.2 RandomUtil.ets2.3 ContactList.ets 1、頁面效果 1.1 初始頁面 1.2 點擊名片展開 1.3 點擊收藏 1.4 點擊編輯按鈕 2、…

百度、谷歌、必應收錄個人博客網站

主要是給各個搜索引擎提交你的sitemap文件&#xff0c;讓別人能搜到你博客的內容。 主題使用的Butterfly。 生成sitemap 安裝自動生成sitemap插件。 npm install hexo-generator-sitemap --save npm install hexo-generator-baidu-sitemap --save在站點配置文件_config.yml…

【手撕數據結構】卸甲時/空間復雜度

目錄 前言時間復雜度概念?O的漸進表?法小試牛刀 空間復雜度 前言 要想知道什么是空/時間復雜度,就得知道什么是數據結構。 這得分兩層來理解。我們生活中處處存在數據&#xff0c;什么抖音熱點上的國際大事&#xff0c;什么懂的都懂的雍正卸甲等等一系列我們用戶看得到的&a…

鴻蒙語言基礎類庫:【@ohos.url (URL字符串解析)】

URL字符串解析 說明&#xff1a; 本模塊首批接口從API version 7開始支持。后續版本的新增接口&#xff0c;采用上角標單獨標記接口的起始版本。開發前請熟悉鴻蒙開發指導文檔&#xff1a;gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md點擊或者復制轉到。 導入…

【K8s】專題六(5):Kubernetes 穩定性之重啟策略、滾動更新策略

以下內容均來自個人筆記并重新梳理&#xff0c;如有錯誤歡迎指正&#xff01;如果對您有幫助&#xff0c;煩請點贊、關注、轉發&#xff01;歡迎掃碼關注個人公眾號&#xff01; 目錄 一、重啟策略 1、基本介紹 2、資源清單&#xff08;示例&#xff09; 二、滾動更新策略 …

Vue框架引入

vue簡介 1.1.vue是什么?Vue官網 英文官網: https://vuejs.org/中文官網: https://cn.vuejs.org/ vue是一套構建用戶界面的漸進式javascript框架 構建用戶界面:將我們手里拿到的數據通過某種辦法變成用戶可以看見的界面前端工程師的職責:就是在合適的時候發出合適的請求,然后…