Linux之免費證書工具certbot安裝和使用

一、cerbot簡介

??Certbot是一個免費的開源軟件工具,用于在手動管理的網站上自動使用Let’s Encrypt證書以啟用HTTPS。要想讓自己的網站啟用https協議,需要一個由CA(數字證書認證機構)頒發的,能夠讓各個瀏覽器都能承認的SSL安全證書。有很多網站可以申請到免費的SSL證書,比如阿里云,騰訊云等。一般免費證書SSL網站只可以申請二級域名ssl證書,而且有數量限制,有效期也是有限制,比如阿里云是20張有效期3個月二級域名ssl證書,騰訊云是20張有效期1年二級域名ssl證書。Let’s Encrypt證書機構則支持申請域名通配符ssl證書,這樣我們一個域名有解析多個二級域名的時候我們只需要申請一次即可。只是證書一次有效期只有3個月,我們需要到期手動續期或者通過certbot結合定時任務自動續期。博文實驗環境如下:

  • 操作系統:centos7.6
  • certbot版本:1.11.0
  • nginx版本:1.25.5

二、安裝步驟及使用簡介

1、安裝epel

??安裝certbot之前需要先安裝epel擴展源,通過epel擴展源才可以yum安裝certbot命令軟件包。

[root@s76 ~]# yum install -y epel-release

2、yum安裝certbot

??通過yum安裝,當前安裝的版本是1.11.0。

[root@s76 yum.repos.d]# yum install -y certbot

Installed:
certbot.noarch 0:1.11.0-2.el7

3、驗證certbot命令

??查看certbot命令版本和命令存儲路徑。

[root@s76 yum.repos.d]# certbot --version
certbot 1.11.0
[root@s76 yum.repos.d]# which certbot
/usr/bin/certbot

4、查看命令幫助

??使用–help參數獲取命令幫助。命令語法格式如下:certbot [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] …

[root@s76 yum.repos.d]# certbot --help

5、申請ssl證書

??執行certbot命令申請證書,如果是第一次使用的郵箱則會提示是否接受郵箱注冊,輸入y后繼續。

[root@s76 ~]# certbot certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns --email xxx@qq.com --agree-tos -d *.sun-site.com
在這里插入圖片描述

6、添加域名解析記錄用于驗證

??根據提示登錄域名注冊商添加一條TXT地址解析記錄。添加完成后等待1分鐘以上等域名解析生效。
在這里插入圖片描述

7、證書申請成功

??看到Congratulations提示就說明免費證書申請成功了。證書和key存儲到/etc/letsencrypt/live/目錄下,真實目錄是/etc/letsencrypt/archive,會生成一個根據域名名稱生成的目錄,目錄下包括cert.pem 、chain.pem、fullchain.pem、privkey.pem四個文件。
在這里插入圖片描述

8、打包下載ssl證書

??將生成的證書及key文件壓縮打包,并下載到本地。當然如果是在部署服務器上申請的證書直接拷貝到指定目錄即可。

[root@s76 archive]# zip -r sun-site.com.zip sun-site.com/
adding: sun-site.com/ (stored 0%)
adding: sun-site.com/cert1.pem (deflated 27%)
adding: sun-site.com/privkey1.pem (deflated 23%)
adding: sun-site.com/chain1.pem (deflated 25%)
adding: sun-site.com/fullchain1.pem (deflated 31%)
[root@s76 archive]# sz sun-site.com.zip

9、部署驗證

??將證書上傳到指定目錄下,修改nginx配置文件,指定新的證書文件,然后重新加載nginx配置文件。

root@jj100:/usr/local/nginx/conf# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
root@jj100:/usr/local/nginx/conf# nginx -s reload
在這里插入圖片描述

10、證書查驗

??訪問域名網站,我們可以看到新的證書已經使用,證書頒發機構是Let’s Encrypt,證書有效期是到2024年9月8日。
在這里插入圖片描述

11、證書續期

??使用certbot renew命令可以自動續期證書,–dry-run是進行測試驗證,這里如提示證書有效期還比較長,證書有效期小于30天才可以申請續期,自動跳過續期任務。certbot的操作都會在/var/log/letsencrypt/letsencrypt.log留檔日志。在使用過程中如果有問題我們可以查看該日志文件,獲取詳細信息。

[root@s76 certbot-letencrypt-wildcardcertificates-alydns-au]# certbot renew --dry-run
Saving debug log to /var/log/letsencrypt/letsencrypt.log
在這里插入圖片描述

12、關于自動續期

??關于證書自動續期有通過安裝python2-certbox-nginx插件實現的,有通過shell腳本certbot-letencrypt-wildcardcertificates-alydns-au+定時任務實現的。博主還這里還沒有配置成功。后續另外出博文進行實驗驗證。

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

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

相關文章

【ROS 快速解決】launch 文件編寫

通過launch文件以及roslaunch命令可以一次性啟動多個節點&#xff0c;并且可以設置豐富的參數 通常存放路徑&#xff1a;工作空間目錄 / launch / xxx.launchlaunch 文件本質是一個 xml 類型的文件&#xff0c;基本格式如下<launch> <node .../> ## 最重要的標簽 …

強化OT安全英國發布工控網絡事件響應實踐指南

該安全機構指出&#xff0c;OT/ICS網絡的運行方式與傳統的IT網絡存在諸多關鍵差異。 盡管保護數據的機密性是IT網絡的主要目標&#xff0c;但OT安全更側重于維護設備的可用性和完整性&#xff0c;而非數據訪問。RITICS解釋道&#xff1a;“網絡事件響應計劃應兼顧IT和ICS/OT系…

Spring Web MVC入門(1)(建立連接)

一.什么是Spring Web MVC? Spring Web MVC是基于ServletAPI構建的原始Web框架,從一開始就包含在Spring框架中.它的正式名稱"Spring Web MVC"來自其源模塊的名稱(Spring-webmvc),但它通常被稱為"Spring MVC". 二.MVC的定義 MVC是Model View Controller的縮…

迅狐矩陣系統:一鍵式剪輯神器,引領矩陣運營新潮流!

在數字化浪潮洶涌的當下&#xff0c;視頻內容已經成為人們獲取信息、娛樂休閑的重要方式。然而&#xff0c;面對海量的視頻素材和日益增長的用戶需求&#xff0c;如何高效、高質量地剪輯和分發視頻內容&#xff0c;成為了擺在眾多內容創作者和運營團隊面前的難題。幸運的是&…

MySQL 日志深度解析:從查詢執行到性能優化

引言 MySQL 日志是數據庫管理員和開發者的寶貴資源&#xff0c;它提供了查詢執行的詳細情況&#xff0c;幫助我們診斷問題和優化性能。本文將深入分析一個具體的 MySQL 日志條目&#xff0c;解釋其含義&#xff0c;并提供針對性的優化建議。 日志信息概覽 讓我們先來快速了解…

【單片機畢業設計選題24053】-基于單片機的WiFi控制門禁系統設計

系統功能: 系統上電后OLED顯示智能門禁系統 Door:xxxxxx 初始化ESP8266完成后顯示 Door:Closed 短按按鍵SW4可打開電磁鎖OLED顯示Door:Open&#xff0c;約五秒后電磁鎖自動關閉OLED 顯示Door:Closed 根據“TCP調試助手使用說明”操作&#xff0c; 在調試助手界面發送Open后…

商城源碼從哪里找

商城源碼可以從多個渠道獲取&#xff0c;具體包括開源平臺、專門的商城系統提供商、代碼分享網站等。不同的渠道可能適合不同的需求和技術水平。下面將詳細分析各個渠道的特點及優缺點&#xff1a; 開源平臺 Gitee&#xff1a;Gitee是一個知名的代碼托管平臺&#xff0c;提供…

【VUE基礎】VUE3第五節—核心語法之ref標簽、props

ref標簽 作用&#xff1a;用于注冊模板引用。 用在普通DOM標簽上&#xff0c;獲取的是DOM節點。 用在組件標簽上&#xff0c;獲取的是組件實例對象。 用在普通DOM標簽上&#xff1a; <template><div class"person"><h1 ref"title1">…

RDNet實戰:使用RDNet實現圖像分類任務(一)

論文提出的模型主要基于對傳統DenseNet架構的改進和復興&#xff0c;通過一系列創新設計&#xff0c;旨在提升模型性能并優化其計算效率&#xff0c;提出了RDNet模型。該模型的主要特點和改進點&#xff1a; 1. 強調并優化連接操作&#xff08;Concatenation&#xff09; 論文…

CF328A IQ Test 題解

思路 依題意模擬即可。 注意要保證是整數。 代碼 #include<bits/stdc.h> #include<cstring> #include<queue> #include<set> #include<stack> #include<vector> #include<map> #define ll long long #define lhs printf("\n…

kotlin flow collect collectLatest 區別

在 Kotlin 協程庫中&#xff0c;collect 和 collectLatest 都是用于收集 Flow 中發射的數據的方法&#xff0c;但它們在處理數據和響應新數據的方式上有所不同。 collect collect 是一個掛起函數&#xff0c;用于收集 Flow 中發射的所有數據。它會按順序處理每一個發射的數據…

UML圖書管理系統用例圖示例

新書速覽|《UML 2.5基礎、建模與設計實踐》新書速覽|《UML 2.5基礎、建模與設計實踐 【例4.4】圖書管理系統用例圖。 圖書管理系統按其業務功能分成借閱者管理、圖書管理、借書、還書和用戶管理等幾部分&#xff0c;這些職能對應于系統的不同組織部門。 1&#xff09;系統參…

echarts 中國地圖json文件

阿里云地理網址 DataV.GeoAtlas地理小工具系列 (aliyun.com) 地圖cp 修改參考 {"type": "FeatureCollection","features": [{"type": "Feature","properties": { "id": "65", "size&…

Actor-Critic 算法

在強化學習&#xff08;Reinforcement Learning, RL&#xff09;中&#xff0c;Actor-Critic 算法是一類強大的策略梯度方法&#xff0c;結合了策略&#xff08;Policy&#xff09;和價值函數&#xff08;Value Function&#xff09;兩種方法的優點。本文將詳細介紹 Actor-Crit…

[TypeScript]手擼LFU

[TypeScript]手擼LFU 最近做筆試的時候遇到了要手擼LFU的題目&#xff0c;LFU在vue源碼里還是有使用的&#xff0c;例如keep-alive的實現機制就是基于它來搞的。不多說了&#xff0c;直接上代碼。 代碼 // 雙向鏈表node class DoubleLinkNode {key: number;val: number;freq…

阿一課代表今日分享之使用dnscat2 進行dns隧道反彈shell(直連模式linux對linux)

DNS介紹 DNS是域名系統(Domain Name System)的縮寫&#xff0c;是因特網的一項核心服務&#xff0c;它作為可以將域名和IP地址相互映射的一個分布式數據庫&#xff0c;能夠使人更方便的訪問互聯網&#xff0c;而不用去記住能夠被機器直接讀取的IP數串。 DNS的記錄類型有很多&a…

歸并排序算法Python實現

歸并排序原理和步驟 1. 將數組分成兩半&#xff0c;直到每個子數組的長度為1 首先&#xff0c;將數組分成兩半。如果數組的長度大于1&#xff0c;將其從中間分割為兩個子數組。對每個子數組繼續進行這個過程&#xff0c;直到每個子數組的長度為1。此時&#xff0c;所有子數組…

L4 Persistence and Streaming

參考自https://www.deeplearning.ai/short-courses/ai-agents-in-langgraph&#xff0c;以下為代碼的實現。 這里主要是加入了memory&#xff0c;這樣通過self.graph graph.compile(checkpointercheckpointer)就可以加入持久性的檢查點通過thread {"configurable"…

項目實戰--Spring Boot + GraphQL實現實時數據推送

背景 用戶體驗不斷提升而3對實時數據的需求日益增長&#xff0c;傳統的數據獲取方式無法滿足實時數據的即時性和個性化需求。 GraphQL作為新興的API查詢語言&#xff0c;提供更加靈活、高效的數據獲取方案。結合Spring Boot作為后端框架&#xff0c;利用GraphQL實現實時數據推…

Java筆試|面試 —— 對多態性的理解

談談對多態性的理解&#xff1a; 一個事物的多種形態&#xff08;編譯和運行時狀態不一致性&#xff09; 實現機制&#xff1a;通過繼承、重寫和向上轉型&#xff08;Object obj new 子類()&#xff09;來實現。 1.廣義上的理解 子類對象的多態性&#xff0c;方法的重寫&am…