成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一起聊聊如何使用ACME申請SSL證書

安全 應用安全
折騰一番后,我找到了一個免費且優雅的方案,只需要在服務器上安裝相關腳本,就能申請到免費的域名證書,它會定期檢查證書的有效期,實現到期自動續期與更新,從而有效地獲得了一個“永久”的證書。

前言

通過https協議訪問網站時,SSL證書確保了數據傳輸的安全性。目前,大多數云服務提供商提供的免費證書有效期只有90天,想要更長時間的證書則需要付費。這意味著每隔90天就需要重新簽發并替換證書文件。

折騰一番后,我找到了一個免費且優雅的方案,只需要在服務器上安裝相關腳本,就能申請到免費的域名證書,它會定期檢查證書的有效期,實現到期自動續期與更新,從而有效地獲得了一個“永久”的證書。

本文就跟大家詳細分享下這個方案,歡迎各位感興趣的開發者閱讀本文。

環境搭建

我們需要用到ACME[1]這個程序來完成證書的申請與簽發。

程序安裝

首先,我們需要通過SSH連接到服務器,通過以下命令來安裝:

curl  https://get.acme.sh | sh

安裝程序會自動做以下操作:

? 自動把acme.sh安裝到你的 home 的.acme.sh目錄下,即~/.acme.sh/

? 自動創建一個 bash的別名,方便命令行的直接使用: alias acme.sh=~/.acme.sh/acme.sh

? 自動為你創建 cron任務, 每天 0:00 點自動檢測所有的證書, 如果快過期了, 需要更新,則會自動更新證書。

更改默認證書

因為acme已經被ZeroSSL收購,其默認的證書方式為ZeroSSL,但此證書生成時會攜帶郵箱,因此需要更換為letsencrypt[2]

acme.sh --set-default-ca  --server  letsencrypt

申請泛域名證書

泛域名證書是一種能夠為同一個主域名(例如kaisir.cn)下的所有子域名(如www.kaisir.com、resource.kaisir.cn等)提供安全加密的數字證書。能夠通過一個單一的證書來保護主域名及其所有子域名的數據傳輸,使得網站管理者無需為每個子域名分別購買和管理多個SSL證書。[3]

通過acme申請的證書,可以綁定滿足該通配符型規則的任意三級子域名,例如:

www.kaisir.cn
test.kaisir.cn
aaa.kaisir.cn
bb.kaisir.cn
...

如果你對數字證書比較感興趣,可以移步我的另一篇文章:數字證書的理解[4]

獲取 DNS API 參數

acme提供的泛域名證書只能通過dns的形式來做驗證,因此我們需要進入域名解析控制臺(你可以在此處[5]找到你的域名解析提供商)創建API ID 和 API Key。

我這里以阿里云為例,登錄成功后,去到阿里云的RAM訪問控制面板[6]來創建用戶。

圖片圖片

? 創建完用戶之后,點擊添加權限按鈕

圖片圖片

? 勾選第一頁的所有權限

圖片圖片

? 復制AccessKey ID和AccessKey Secret下來,保存好。

圖片圖片

配置環境變量

由于每個平臺的環境變量名稱是不一樣的,因此你需要去acme-dnsapi網站[7]里找到你平臺的變量名。我這里以阿里云為例,將key和secret換成上一步創建的即可。

export Ali_Key="key"
export Ali_Secret="secret"

生成證書

做完上述操作后,我們的準備工作就做完了,可以使用acme.sh腳本來創建證書了。

acme.sh --issue --dns dns_ali -d kaisir.cn -d '*.kaisir.cn' --dnssleep 300 --debug

? --dns 用于指定dns校驗平臺,我這里是阿里云

? 第一個-d是你的網站主域名,第二個是泛域名

?  --dnssleep用于等待操作,因為把txt添加到后臺,解析不一定能做到立刻生效,所以需要延時一下,此處我設置了300秒的延時,執行命令的過程會有個等待倒計時。

?  --debug開啟調試模式,創建過程中會打印詳細的日志出來,方便定位錯誤。

創建成功后,你將看到如下所示的內容:

圖片圖片

安裝證書

最后,我們只需要找到創建好的證書,將其在服務器上的路徑填寫到nginx中即可。腳本會在證書快到期時,自動續期并創建相關文件。

本章節將以我的服務器為例,跟大家分享下如何去做相關的配置。

配置路徑映射

如果你的服務是直接運行在宿主機上的,請跳過這一步。

我的服務是運行在docker容器里的,因此需要先把服務器的證書路徑映射進容器中,此處我以docker-compose為例,在volumes節點下添加映射即可。

nginx-server:
        image: nginx:1.18.0
        container_name: local_nginx
        volumes:
            - /root/.acme.sh/kaisir.cn_ecc:/usr/share/acme

注意:如果你只使用了docker,則需要在運行docker run指令時,通過添加-v參數來添加路徑映射,例如docker run -v /root/.acme.sh/kaisir.cn_ecc:/usr/share/acme。

? /root/.acme.sh/kaisir.cn_ecc 是宿主機上的路徑

? /usr/share/acme是容器內部的路徑

如果你對docker不是很了解,可以移步我的另一篇文章:使用docker來編排Web應用[8]

配置nginx

隨后,我們就可以打開nginx的配置文件,指定ssl證書的位置即可。

? /usr/share/acme/就是我們上一步所映射出來的路徑

? fullchain.cer就是我們申請到的泛域名證書

server {
    # 配置ssl證書
    ssl_certificate   /usr/share/acme/fullchain.cer;
    ssl_certificate_key  /usr/share/acme/kaisir.cn.key;
}

實現效果

最后,我們重啟nginx,通過瀏覽器訪問網站就能看到證書信息了??

圖片圖片

? 訪問子域名的服務也是正常的

圖片圖片

? 證書詳情如下所示

圖片圖片

引用鏈接

[1] ACME: https://letsencrypt.org/zh-cn/docs/client-options/

[2] letsencrypt: https://letsencrypt.org/

[3] www.kaisir.com、resource.kaisir.cn等)提供安全加密的數字證書。能夠通過一個單一的證書來保護主域名及其所有子域名的數據傳輸,使得網站管理者無需為每個子域名分別購買和管理多個SSL證書。: http://www.kaisir.com、resource.kaisir.cn等)提供安全加密的數字證書。能夠通過一個單一的證書來保護主域名及其所有子域名的數據傳輸,使得網站管理者無需為每個子域名分別購買和管理多個SSL證書。

[4] 數字證書的理解: https://www.kaisir.cn/post/58

[5] 此處: https://github.com/acmesh-official/acme.sh/wiki/dnsapi

[6] RAM訪問控制面板: https://ram.console.aliyun.com/users

[7] acme-dnsapi網站: https://github.com/acmesh-official/acme.sh/wiki/dnsapi

[8] 使用docker來編排Web應用: https://www.kaisir.cn/post/175

[9] 個人網站: https://www.kaisir.cn/

責任編輯:武曉燕 來源: 神奇的程序員
相關推薦

2024-11-27 16:07:45

2024-09-30 09:33:31

2021-09-11 19:02:34

Hook使用版本

2024-09-09 00:00:00

編寫技術文檔

2023-04-03 00:09:13

2023-08-10 08:28:46

網絡編程通信

2023-08-04 08:20:56

DockerfileDocker工具

2023-06-30 08:18:51

敏捷開發模式

2023-09-10 21:42:31

2023-09-21 08:16:56

JDK 21向量計算計算

2022-05-24 08:21:16

數據安全API

2024-01-01 08:46:32

2025-01-09 07:54:03

2021-07-12 11:35:13

Go協程Goroutine

2024-02-20 21:34:16

循環GolangGo

2021-08-27 07:06:10

IOJava抽象

2022-12-07 09:01:14

布局容器VStack?

2024-12-10 00:00:25

2021-12-10 07:45:48

字節音頻視頻

2021-11-04 06:58:31

CSS性能設備
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产精品久久久 | 亚洲小说图片 | 久久久久久久国产 | 精品国产乱码久久久久久丨区2区 | 黑人巨大精品欧美一区二区免费 | 国产日韩一区 | 亚洲一区二区三区在线视频 | 成av人电影在线 | 97超碰人人草 | 国产成人99久久亚洲综合精品 | 欧美a区 | 中文字幕一区二区三区不卡 | 国产福利在线 | 国产一区二区电影网 | 欧美日韩在线高清 | 性高朝久久久久久久3小时 av一区二区三区四区 | 五月婷婷激情 | 成人av免费播放 | 性高湖久久久久久久久aaaaa | 国产高清视频 | 久久午夜精品 | av无遮挡 | 欧美久久一区二区 | 黑人一级片视频 | 日本一区二区三区免费观看 | 国产福利精品一区 | 国产一区中文字幕 | 在线观看国产wwwa级羞羞视频 | 成人不卡 | 免费视频一区二区 | 在线免费黄色小视频 | 免费看国产a | 在线视频99| 一级毛片在线播放 | 国产精品美女www爽爽爽视频 | 欧美一级视频在线观看 | 欧美视频三区 | 欧美福利 | 欧美一级片| 久久99国产精一区二区三区 | 国产日韩精品一区二区 |