国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

通過(guò)acme.sh腳本為L(cháng)etsencrypt更新CA證書(shū)實(shí)現站點(diǎn)永久

發(fā)布時(shí)間:2022-05-26 12:39 來(lái)源:老劉博客 閱讀:118 作者:網(wǎng)絡(luò ) 欄目: 經(jīng)驗分享 歡迎投稿:712375056

本文目錄 顯示

現在很多站長(cháng)都會(huì )考慮將自己的站點(diǎn)從http升級到https,不僅是基于安全的考慮,有的也是因為第三方平臺的限制,如谷歌瀏覽器會(huì )將http站點(diǎn)標記為不安全的站點(diǎn),微信平臺要求接入的微信小程序必須使用https等。那如何將一個(gè)http站點(diǎn)升級為https站點(diǎn)呢?

http與https的區別

為了數據傳輸的安全,https在http的基礎上加入了ssl協(xié)議,ssl協(xié)議依靠證書(shū)來(lái)驗證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的通信加密。要想將http升級為https,只需要給http站點(diǎn)增加一個(gè)CA證書(shū)即可。

目前獲取CA證書(shū)有兩種途徑:

  • 購買(mǎi)收費的CA證書(shū),如《168元UCloud優(yōu)刻得單域名DV SSL證書(shū)申請與部署流程》;
  • 獲取免費的證書(shū),如《網(wǎng)站啟用https:UCloud優(yōu)刻得免費SSL證書(shū)申請與部署流程》。

收費的CA證書(shū)各大服務(wù)提供商都有賣(mài),如阿里云、騰訊云等。

收費的證書(shū)不便宜,從阿里云官方網(wǎng)站看,它的價(jià)格可以從幾千元到上萬(wàn)元不等。

這對于小公司平臺,甚至是個(gè)人站點(diǎn)來(lái)說(shuō),是一個(gè)不小的開(kāi)支。

Letsencrypt是一個(gè)免費、自動(dòng)化和開(kāi)放的證書(shū)頒發(fā)機構,其頒發(fā)的證書(shū)一次有效期為三個(gè)月,但是只要能持續更新Letsencrypt證書(shū),基本可以永久使用。問(wèn)題是如何實(shí)現自動(dòng)持續更新呢?

今天推薦的這個(gè)腳本acme.sh,實(shí)現了 acme 協(xié)議, 可以幫你持續自動(dòng)從Letsencrypt更新CA證書(shū)。

下載地址如下:

https://github.com/Neilpang/acme.sh

安裝 acme.sh

安裝acme.sh很簡(jiǎn)單,一個(gè)命令即可:

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

普通用戶(hù)和 root 用戶(hù)都可以安裝使用。安裝過(guò)程進(jìn)行了以下幾步:

1、把acme.sh安裝到你的home目錄下:

~/.acme.sh/

并創(chuàng )建 一個(gè) bash 的 alias,方便你使用:alias acme.sh=~/.acme.sh/acme.sh

2、自動(dòng)為你創(chuàng )建 cronjob,每天 0:00 點(diǎn)自動(dòng)檢測所有的證書(shū)。如果快過(guò)期了,需要更新,則會(huì )自動(dòng)更新證書(shū),安裝過(guò)程不會(huì )污染已有的系統任何功能和文件,所有的修改都限制在安裝目錄中:~/.acme.sh/

生成證書(shū)

acme.sh 實(shí)現了 acme 協(xié)議支持的所有驗證協(xié)議, 一般有兩種方式驗證:http 和 dns 驗證。

1、http 方式需要在你的網(wǎng)站根目錄下放置一個(gè)文件, 來(lái)驗證你的域名所有權,完成驗證,然后就可以生成證書(shū)了。

acme.sh --issue -d mydomain.com -d www.mydomain.com --webroot /home/wwwroot/mydomain.com/

acme.sh 會(huì )全自動(dòng)的生成驗證文件, 并放到網(wǎng)站的根目錄,然后自動(dòng)完成驗證。最后會(huì )聰明的刪除驗證文件,整個(gè)過(guò)程沒(méi)有任何副作用。

如果你用的是apache服務(wù)器,acme.sh 還可以智能的從 apache的配置中自動(dòng)完成驗證,你不需要指定網(wǎng)站根目錄:

acme.sh --issue -d mydomain.com --apache

如果你用的是nginx服務(wù)器,或者反代,acme.sh還可以智能的從 nginx的配置中自動(dòng)完成驗證,你不需要指定網(wǎng)站根目錄:

acme.sh --issue -d mydomain.com --nginx

注意:無(wú)論是 apache 還是 nginx 模式,acme.sh在完成驗證之后,會(huì )恢復到之前的狀態(tài),都不會(huì )私自更改你本身的配置。好處是你不用擔心配置被搞壞,但也有一個(gè)缺點(diǎn),你需要自己配置 ssl 的配置,否則,只能成功生成證書(shū),你的網(wǎng)站還是無(wú)法訪(fǎng)問(wèn)https。但是為了安全,你還是自己手動(dòng)改配置吧。

如果你還沒(méi)有運行任何 web 服務(wù),80 端口是空閑的, 那么 acme.sh 還能假裝自己是一個(gè)webserver,臨時(shí)聽(tīng)在80 端口,完成驗證:

acme.sh --issue -d mydomain.com --standalone

2、dns 方式,在域名上添加一條 txt 解析記錄,驗證域名所有權。

這種方式的好處是,你不需要任何服務(wù)器,不需要任何公網(wǎng) ip,只需要 dns 的解析記錄即可完成驗證。不過(guò),壞處是,如果不同時(shí)配置 Automatic DNS API,使用這種方式 acme.sh 將無(wú)法自動(dòng)更新證書(shū),每次都需要手動(dòng)再次重新解析驗證域名所有權。

acme.sh --issue --dns -d mydomain.com

然后,acme.sh 會(huì )生成相應的解析記錄顯示出來(lái),你只需要在你的域名管理面板中添加這條 txt 記錄即可。

等待解析完成之后, 重新生成證書(shū):

acme.sh --renew -d mydomain.com

注意:第二次這里用的是 –renew

dns 方式的真正強大之處在于可以使用域名解析商提供的 api 自動(dòng)添加 txt 記錄完成驗證。

acme.sh 目前支持 cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等數十種解析商的自動(dòng)集成。

copy/安裝證書(shū)

前面證書(shū)生成以后,接下來(lái)需要把證書(shū) copy 到真正需要用它的地方。

注意:默認生成的證書(shū)都放在安裝目錄下:~/.acme.sh/,請不要直接使用此目錄下的文件。例如,不要直接讓 nginx/apache 的配置文件使用這下面的文件。這里面的文件都是內部使用,而且目錄結構可能會(huì )變化。

正確的使用方法是使用 –installcert 命令,并指定目標位置,然后證書(shū)文件會(huì )被copy到相應的位置,例如:

acme.sh --installcert -d .com --key-file /etc/nginx/ssl/.key --fullchain-file /etc/nginx/ssl/fullchain.cer --reloadcmd "service nginx force-reload"

一個(gè)小提醒,這里用的是 service nginx force-reload,不是 service nginx reload,據測試, reload并不會(huì )重新加載證書(shū),所以用的 force-reload。

Nginx 的配置 ssl_certificate 使用 /etc/nginx/ssl/fullchain.cer,而非 /etc/nginx/ssl/.cer ,否則 SSL Labs 的測試會(huì )報 Chain issues Incomplete 錯誤。

–installcert命令可以攜帶很多參數,來(lái)指定目標文件。并且可以指定 reloadcmd, 當證書(shū)更新以后,reloadcmd會(huì )被自動(dòng)調用,讓服務(wù)器生效。

值得注意的是,這里指定的所有參數都會(huì )被自動(dòng)記錄下來(lái),并在將來(lái)證書(shū)自動(dòng)更新以后,被再次自動(dòng)調用。

更新證書(shū)

目前證書(shū)在 60 天以后會(huì )自動(dòng)更新,你無(wú)需任何操作。今后有可能會(huì )縮短這個(gè)時(shí)間,不過(guò)都是自動(dòng)的,你不用關(guān)心。

更新acme.sh

目前由于 acme 協(xié)議和 Letsencrypt CA 都在頻繁的更新,因此 acme.sh 也經(jīng)常更新以保持同步。

升級 acme.sh 到最新版 :

acme.sh --upgrade

如果你不想手動(dòng)升級, 可以開(kāi)啟自動(dòng)升級:

acme.sh --upgrade --auto-upgrade

之后, acme.sh 就會(huì )自動(dòng)保持更新了。

你也可以隨時(shí)關(guān)閉自動(dòng)更新:

acme.sh --upgrade --auto-upgrade 0

出錯怎么辦:

如果出錯, 請添加 debug log:

acme.sh --issue ….. --debug

或者:

acme.sh --issue ….. --debug 2

最后,本文并非完全的使用說(shuō)明,還有很多高級的功能,更高級的用法請參看其他 wiki 頁(yè)面。

https://github.com/Neilpang/acme.sh/wiki

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

国产强被迫伦姧在线观看无码| 国产精品国产亚洲精品看不卡| 亚洲VA久久久噜噜噜久久| 国产在线不卡一区二区三区| 麻豆亚洲国产成人精品无码区| 日韩内射激情视频在线播放免费|