使用Docker申請Let‘s Encrypt證書

1、安裝Docker

# 安裝Docker
https://docs.docker.com/get-docker/# 安裝Docker Compose
https://docs.docker.com/compose/install/# CentOS安裝Docker
https://mp.weixin.qq.com/s/nHNPbCmdQs3E5x1QBP-ueA

2、申請Let's Encrypt證書

詳見:
https://docs.linuxserver.io/general/swag
https://github.com/linuxserver/docker-swag
https://hub.docker.com/r/linuxserver/swag

創建目錄:

mkdir letsencrypt
cd letsencrypt

創建docker-compose.yaml文件:

services:swag:image: linuxserver/swag:latestcontainer_name: swagcap_add:- NET_ADMINenvironment:- PUID=0- PGID=0- TZ=Asia/Shanghai- URL=example.com- VALIDATION=http- SUBDOMAINS=www, #optional- CERTPROVIDER= #optional- DNSPLUGIN=cloudflare #optional- PROPAGATION= #optional- EMAIL= #optional#- ONLY_SUBDOMAINS=false #optional- ONLY_SUBDOMAINS=true #optional- EXTRA_DOMAINS= #optional- STAGING=false #optional- DISABLE_F2B= #optional- SWAG_AUTORELOAD= #optional- SWAG_AUTORELOAD_WATCHLIST= #optionalvolumes:- ./config:/configports:- 443:443- 80:80 #optionalrestart: unless-stopped
說明:
1、根據實際情況修改PUID、PGID的值,使用id命令來查看當前用戶的PUID、PGID的值
2、根據實際情況修改URL、SUBDOMAINS的值,URL為域名、SUBDOMAINS為子域名
3、將ONLY_SUBDOMAINS的值設置為true,只獲取子域名證書
參數說明:-p 443:443	HTTPS 端口。
-p 80	HTTP端口(HTTP 驗證和 HTTP -> HTTPS 重定向所需)。
-e PUID=1000	UserID。
-e PGID=1000	GroupID。
-e TZ=Etc/UTC	指定要使用的時區。
-e URL=example.com	域名/DNS(example.com 或者 customsubdomain.example.com)。
-e VALIDATION=http	使用Certbot驗證方法,選項為http或dns。
-e SUBDOMAINS=www,	子域名(逗號分隔,無空格),如www,ftp,cloud。對于通配符證書,設置為wildcard。
-e CERTPROVIDER=	可選地定義證書提供商。設置zerossl為 ZeroSSL 證書(需要現有的ZeroSSL 帳戶EMAIL和在環境變量中輸入的電子郵件地址)。否則默認為 Let's Encrypt。
-e DNSPLUGIN=cloudflare	如果VALIDATION設置為dns。
-e PROPAGATION=	可選擇覆蓋(以秒為單位)dns 插件的默認傳播時間。
-e EMAIL=	用于證書到期通知的可選電子郵件地址(ZeroSSL 必需)。
-e ONLY_SUBDOMAINS=false	如果您希望只獲取某些子域的證書,而不是主域的證書(主域可能托管在另一臺機器上,無法驗證),請將其設置為true。
-e EXTRA_DOMAINS=	額外的完全限定域名(以逗號分隔,無空格),如example.net、subdomain.example.net、*.example.org。
-e STAGING=false	設置為true以在暫存模式下檢索證書。速率限制會更高,但生成的證書將無法通過瀏覽器的安全測試。僅用于測試目的。
-e DISABLE_F2B=	如果您已經在其他地方運行該服務或使用不同的 IPS,則設置true為禁用容器中的 Fail2ban 服務。
-e SWAG_AUTORELOAD=	設置為true,以便在配置文件發生更改時自動重新加載,而無需停止/重啟 nginx。您的文件系統必須支持 inotify。此功能之前通過 modtrue提供。
-e SWAG_AUTORELOAD_WATCHLIST=	除以下文件夾外,還包含一個管道分隔的用于自動重新加載的附加文件夾列表:/config/nginx。
-v /config	持久配置文件。
--read-only=true	使用只讀文件系統運行容器。
--cap-add=NET_ADMIN	需要 fail2Ban 才能修改 iptables 規則。

創建并啟動容器:

docker-compose up -d

查看容器列表:

docker ps

查看日志:

docker logs swag

進入容器:

docker exec -it swag bash

重啟容器:

docker restart swag

停止并銷毀容器:

docker-compose down

刪除鏡像:

docker rmi linuxserver/swag:latest

刪除目錄:

rm -rf ./config

SSL證書文件:

# 證書路徑:
./config/etc/letsencrypt/live/域名# 證書文件:
cert.pem -> ../../archive/域名/cert1.pem
chain.pem -> ../../archive/域名/chain1.pem
fullchain.pem -> ../../archive/域名/fullchain1.pem
priv-fullchain-bundle.pem
privkey.pem -> ../../archive/域名/privkey1.pem
privkey.pfx
README# README文件:
This directory contains your keys and certificates.`privkey.pem`  : the private key for your certificate.
`fullchain.pem`: the certificate file used in most server software.
`chain.pem`    : used for OCSP stapling in Nginx >=1.3.7.
`cert.pem`     : will break many server configurations, and should not be usedwithout reading further documentation (see link below).WARNING: DO NOT MOVE OR RENAME THESE FILES!Certbot expects these files to remain in this location in orderto function properly!We recommend not moving these files. For more information, see the Certbot
User Guide at https://certbot.eff.org/docs/using.html#where-are-my-certificates.# 說明:
私鑰文件:privkey.pem
證書文件:fullchain.pem

創建./config/nginx/proxy-confs/域名.subdomain.conf文件:

詳見:./config/nginx/proxy-confs/homepage.subdomain.conf.sample
server {listen 443 ssl;listen [::]:443 ssl;server_name 域名;#include /config/nginx/ssl.conf;client_max_body_size 0;location / {root /config/www;#include /config/nginx/proxy.conf;#include /config/nginx/resolver.conf;#set $upstream_app homepage;#set $upstream_port 3000;#set $upstream_proto http;#proxy_pass $upstream_proto://$upstream_app:$upstream_port;}
}

重啟nginx服務:

# 重啟nginx服務:
docker exec -it swag nginx -s reload# curl訪問:
curl -L 域名

瀏覽器訪問:

3、詳見

https://mp.weixin.qq.com/s/vNwwniGxGcKTPKKNJjYjfg
https://www.linuxserver.io/
https://docs.linuxserver.io/general/swag
https://github.com/linuxserver/docker-swag
https://hub.docker.com/r/linuxserver/swag
https://github.com/linuxserver-archive/docker-letsencrypt
https://hub.docker.com/r/linuxserver/letsencrypt
https://mp.weixin.qq.com/s/SOjKZ7ekufLVJ_dmfKwjZQ

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

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

相關文章

算法題(167):FBI樹

審題: 本題需要我們將字符串按照題目要求進行遞歸展開,并按照后序遍歷的順序輸出 思路: 方法一:遞歸 首先我們需要模擬一下題目的意思 其實就是第一步判斷屬于什么字符,然后將字符串分兩半進行下一輪判斷。而由于題目要…

從“分散開發”到“智能協同” —— Gitee 如何賦能河南農擔構建金融級研發體系?

河南省農業信貸擔保有限責任公司(以下簡稱「河南農擔」)成立于 2016 年,是河南省屬骨干國有企業,承擔破解“三農”融資難題的重要職責。截至 2024 年底,河南農擔累計實現擔保規模 1037.05 億元,位居全國農擔…

青少年編程與數學 01-011 系統軟件簡介 14 Foxpro數據庫

青少年編程與數學 01-011 系統軟件簡介 14 Foxpro數據庫 一、歷史沿革二、技術架構三、主要功能四、應用場景五、產品版本六、使用方法七、技術價值八、歷史意義全文總結 **摘要:**FoxPro 是一款經典的桌面數據庫管理系統,起源于 1984 年的 FoxBASE&…

android studio向左向右滑動頁面

本文演示了Android Studio中使用ViewPager實現頁面切換的方法。通過創建包含3個頁面的ViewPager示例,詳細展示了實現步驟:1)在XML布局中配置ViewPager和切換按鈕;2)使用LayoutInflater動態加載頁面布局;3)自定義SimplePagerAdapte…

數據可視化新姿勢:Altair的聲明式魔法

文章目錄 一、告別編程式繪圖的苦日子二、5分鐘極速入門安裝篇(記得先備好虛擬環境!)核心三劍客 三、高階玩法揭秘1. 交互功能秒實現2. 復合圖表so easy3. 魔改樣式有套路 四、避坑指南(血淚經驗)五、Altair vs 其他庫…

PostgreSQL --數據庫操作

一、基本操作 1、登錄 #切換pg用戶 su - postgres#重啟服務 pg_ctl -D /usr/local/pgsql/data -l logfile restart#進入pg psql2、數據庫操作 2.1、列出庫 \l\lselect datname from database; \l:輸出比\l多了Size,Tablespace 和 Description 列 :擴展輸…

樹莓派超全系列教程文檔--(63)rpicam-apps可用選項介紹之常用選項

rpicam-apps可用選項介紹之常用選項 rpicam-apps 選項參考常用選項helpversionlist-camerascameraconfigtimeoutpreviewfullscreenqt-previewnopreviewinfo-textwidth 和 heightviewfinder-width 和 viewfinder-heightmode打包格式詳細信息解壓格式詳細信息 viewfinder-modelor…

AI的發展過程:深度學習中的自然語言處理(NLP);大語言模型(LLM)詳解;Transformer 模型結構詳解;大模型三要素:T-P-G 原則

AI的發展過程:深度學習中的自然語言處理(NLP);大語言模型(LLM)詳解;Transformer 模型結構詳解;大模型三要素:T-P-G 原則 AI的發展過程與大模型原理詳解一、AI的發展過程符…

SDXL 和 SDXL-Turbo 的區別

(1) SDXL(Stable Diffusion XL) 標準擴散模型,基于傳統的多步去噪(通常 20~50 步)。 訓練充分,特征更穩定,適合用于特征提取、方向學習(如 LoRA、SAE)。 計算成本高&am…

PyTorch:讓深度學習像搭積木一樣簡單!!!

文章目錄 🚀 一、 PyTorch的王炸:動態圖 vs 靜態圖靜態圖的“痛苦回憶”(前方高能吐槽!)PyTorch動態圖的降維打擊🔥 🔥 二、 不只是靈活!PyTorch的三大殺器1. 張量(Tenso…

LeetCode--27.移除元素

解題思路: 1.獲取信息: 給定一個數組和一個值,刪除數組中等于這個值的值 要求是,返回數組中不等于這個值的數的數目 并且要求在數組上刪除,不能使用額外輔助空間 還是給了評測標準(你可以根據它的原理來實現…

WebRTC(二):工作機制

核心組成 GetUserMedia:獲取本地音視頻設備(攝像頭、麥克風)數據流。RTCPeerConnection:實現點對點的媒體流傳輸和網絡連接管理。RTCDataChannel:點對點的任意數據通道(除音視頻外傳輸數據)。 …

機器學習+城市規劃第十五期:時空地理加權回歸(STGWR)

機器學習城市規劃第十五期:時空地理加權回歸(STGWR) 引言 隨著城市化進程的加速,城市規劃面臨越來越多復雜的挑戰。在傳統的城市規劃中,通常會考慮到地理位置的影響,但往往忽略了時間維度。而在現代城市的…

用虛擬機安裝macos系統之后進入Boot Manager頁面

安裝教程:在VMware中安裝macos系統教程 在VMware中安裝macos系統時啟動后進入Boot Manager界面,通常是由于虛擬機的固件類型設置于鏡像不兼容所致。 解決辦法:虛擬機默認使用UEFI啟動模式,但是部分macos鏡像需要切換到BIOS模式才…

基于API的Redis緩存實現

1.使用Redis API 進行業務數據緩存管理 編寫一個進行業務處理的類ApiCommentService,使用Autowired注解注入Redis API中常用的RedisTemplate(類似于Java基礎API中的JdbcTemplate); 然后在數據查詢、修改和刪除三個方法中,根據業…

前沿論文匯總(機器學習/深度學習/大模型/搜廣推/自然語言處理)

文章目錄 1 前言2 大模型/自然語言處理2.1 FreeAL:在大模型時代實現無需人工的主動學習2.2 COLD:中文攻擊性語言檢測基準2.3 將詞匯的對比信息融入詞嵌入以實現反義詞-同義詞區分2.4 LogRAG:基于檢索增強生成的半監督日志異常檢測2.5 RankRAG…

PP-OCRv5 ubuntu20.04 OCR識別服務

目錄 說明 使用 效果 下載 說明 PP-OCRv5 ubuntu20.04 OCR識別服務 使用 1、下載后解壓 2、進入目錄、運行程序 效果 1、瀏覽器訪問 2、接口調用 下載 方式1 源碼下載 方式2 通過網盤分享的文件:lw.PP_OCRService.tar.gz 鏈接: https://pan.baidu.com…

VScode打開后一直顯示正在重新激活終端 問題的解決方法

一、問題 本人打開“.py”文件后,同時會出現以下兩個問題。 1、VScode一直循環在”正在重新激活終端“ 2、日志顯示intellicode報錯: Sorry, something went wrong activating IntelliCode support for Python. Please check the “Python” and “VS I…

uniapp 實現騰訊云音視頻通話功能

uniapp 深度集成騰訊云音視頻通話功能實戰指南 一、技術架構解析 騰訊云音視頻解決方案采用IM信令控制層TRTC媒體傳輸層的雙架構設計,實現核心能力解耦: #mermaid-svg-DKBpT4CVDkqU1IBw {font-family:"trebuchet ms",verdana,arial,sans-ser…

linux常見問題之截取文件指定行數

linux常見問題之截取文件指定行數 一、命令概述 在處理大文本文件時,我們打開該文件會非常不方便,比如服務器上的日志文件,于是我們常常需要提取特定的行進行分析。Linux 系統中提供了多個強大的命令行工具,可以幫助我們高效地完…