中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

網(wǎng)站如何免費(fèi)升級到https?

2021-02-04    分類: 網(wǎng)站建設(shè)

現(xiàn)在很多站長都會考慮將自己的站點(diǎn)從http升級到https,不僅是基于安全的考慮,有的也是因為第三方平臺的限制,如谷歌瀏覽器會將http站點(diǎn)標(biāo)記為不安全的站點(diǎn),微信平臺要求接入的微信小程序必須使用https等。

那如何將一個http站點(diǎn)升級為https站點(diǎn)呢?

http與https的區(qū)別

為了數(shù)據(jù)傳輸?shù)陌踩琱ttps在http的基礎(chǔ)上加入了ssl協(xié)議,ssl協(xié)議依靠證書來驗證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的通信加密。要想將http升級為https,只需要給http站點(diǎn)增加一個CA證書即可。

目前獲取CA證書有兩種途徑:

  1. 購買收費(fèi)的CA證書
  2. 獲取免費(fèi)的證書

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

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

這對于小公司平臺,甚至是個人站點(diǎn)來說,是一個不小的開支。

Letsencrypt是一個免費(fèi)、自動化和開放的證書頒發(fā)機(jī)構(gòu),其頒發(fā)的證書一次有效期為三個月,但是只要能持續(xù)更新,基本可以永久使用。

今天推薦的這個腳本acme.sh,實(shí)現(xiàn)了 acme 協(xié)議, 可以幫你持續(xù)自動從Letsencrypt更新CA證書。下載地址如下:

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

安裝 acme.sh

安裝acme.sh很簡單,一個命令即可:

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

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

1、把a(bǔ)cme.sh安裝到你的home目錄下:

~/.acme.sh/

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

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

生成證書

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

等待解析完成之后, 重新生成證書:

acme.sh --renew -d mydomain.com

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

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

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

copy/安裝 證書

前面證書生成以后,接下來需要把證書 copy 到真正需要用它的地方。

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

正確的使用方法是使用 --installcert 命令,并指定目標(biāo)位置,然后證書文件會被copy到相應(yīng)的位置,例如:

acme.sh --installcert -d <domain>.com

--key-file /etc/nginx/ssl/<domain>.key

--fullchain-file /etc/nginx/ssl/fullchain.cer

--reloadcmd "service nginx force-reload"

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

Nginx 的配置 ssl_certificate 使用 /etc/nginx/ssl/fullchain.cer,而非 /etc/nginx/ssl/<domain>.cer ,否則 ssl Labs 的測試會報 Chain issues Incomplete 錯誤。

--installcert命令可以攜帶很多參數(shù),來指定目標(biāo)文件。并且可以指定 reloadcmd, 當(dāng)證書更新以后,reloadcmd會被自動調(diào)用,讓服務(wù)器生效。

值得注意的是,這里指定的所有參數(shù)都會被自動記錄下來,并在將來證書自動更新以后,被再次自動調(diào)用。

更新證書

目前證書在 60 天以后會自動更新,你無需任何操作。今后有可能會縮短這個時間,不過都是自動的,你不用關(guān)心。

更新 acme.sh

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

升級 acme.sh 到最新版 :

acme.sh --upgrade

如果你不想手動升級, 可以開啟自動升級:

acme.sh --upgrade --auto-upgrade

之后, acme.sh 就會自動保持更新了。

你也可以隨時關(guān)閉自動更新:

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

6. 出錯怎么辦:

如果出錯, 請?zhí)砑?debug log:

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

或者:

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

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

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

網(wǎng)頁名稱:網(wǎng)站如何免費(fèi)升級到https?
網(wǎng)頁地址:http://www.rwnh.cn/news0/99100.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站營銷、網(wǎng)站設(shè)計域名注冊、網(wǎng)站維護(hù)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
花垣县| 宣城市| 丰镇市| 浦江县| 银川市| 图木舒克市| 大洼县| 泸西县| 石泉县| 禄劝| 库车县| 高尔夫| 固原市| 图们市| 襄垣县| 三河市| 怀远县| 浮梁县| 赣州市| 栖霞市| 新密市| 锦屏县| 莒南县| 隆回县| 三台县| 阳春市| 前郭尔| 军事| 乌拉特中旗| 两当县| 崇义县| 政和县| 蓝山县| 鹤壁市| 汉源县| 德惠市| 浏阳市| 礼泉县| 陆河县| 博湖县| 武夷山市|