如何申請免費(fèi)https證書?

現(xiàn)在網(wǎng)絡(luò)對數(shù)據(jù)傳輸?shù)陌踩砸笤絹碓礁?,許多情況下都需要https協(xié)議才能訪問。但是https的證書價(jià)格又比較昂貴,這種時(shí)候如果又免費(fèi)的證書可以使用就好了。letsencrypt提供了這樣的免費(fèi)證書。

在github上有一個(gè)倉庫acme.sh,可以申請到免費(fèi)的ssl證書。下面我就帶領(lǐng)大家熟悉下此倉庫申請證書的使用流程

# 安裝腳本
curl https://get.acme.sh | sh # 安裝
sourcr ~/.bashrc # 重新加載環(huán)境變量

# 此處需要注意設(shè)置你的域名是能訪問到的
# 會(huì)在網(wǎng)站項(xiàng)目中創(chuàng)建文件夾.well-known
# http://www.your-app.com/.well-known/ 
acme.sh --issue -d www.your-app.com -w /home/web/www/pay-app-final/public
# 這部執(zhí)行完成之后會(huì)把申請成功的證書放在~/.acme.sh/目錄里s
# 將證書安裝到網(wǎng)站的路徑下
acme.sh --installcert -d www.your-app.com \
               --keypath       /home/web/www/ssl/app-pay.wechat.com.key  \
               --fullchainpath /home/web/www/ssl/app-pay.wechat.com.key.pem \
               --reloadcmd     "sudo service nginx force-reload"
# 生成 dhparam.pem 文件,如果沒有此文件,你的網(wǎng)站安全級別會(huì)被評為B
openssl dhparam -out /home/web/www/ssl/dhparam.pem 2048
# 修改nginx啟用SSL

http {
  # 新增
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers on;
  # 兼容其他老瀏覽器的 ssl_ciphers 設(shè)置請?jiān)L問 https://wiki.mozilla.org/Security/Server_Side_TLS

  server {
    listen 80 default_server;
    # 新增
    listen 443 ssl;
    ssl_certificate         /home/web/www/ssl/app-pay.wechat.com.key.pem;
    ssl_certificate_key     /home/web/www/ssl/app-pay.wechat.com.key;
    # ssl_dhparam 
    ssl_dhparam             /home/web/www/ssl/dhparam.pem;

    # 其他省略
  }
}

# 檢查nginx的配置并重新啟動(dòng)
sudo service nginx configtest
sudo service nginx restart

Let's Encrypt 的證書有效期是 90 天的,你需要定期 renew 重新申請,這部分 acme.sh 以及幫你做了,在安裝的時(shí)候往 crontab 增加了一行每天執(zhí)行的命令

crontab -l # 查看定時(shí)任務(wù)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容