<address id="r9vd9"><address id="r9vd9"><listing id="r9vd9"></listing></address></address>

      歡迎您光臨深圳塔燈網絡科技有限公司!
      電話圖標 余先生:13699882642

      網站百科

      為您解碼網站建設的點點滴滴

      如何擼一個純凈省心又免費的HTTPS證書

      發表日期:2018-11 文章編輯:小燈 瀏覽次數:2223

      前言

      一直想擼一下https,最近剛好有點空,就實現了一下。之前看過一篇教你快速擼一個免費HTTPS證書的文章,通過Certbot來管理Let's Encrypt的證書,使用前需要安裝一堆庫,覺得不太友好。所謂條條大路通羅馬,肯定還有其他方法可以做這個事情。

      經過一番研究,發現了 acme.sh 這個庫,這個是用Shell腳本編寫的,不需要安裝其他東西,比較純凈,覺得比較適合自己,記錄一下過程。

      準備工作

      1. 一個已解析好的域名(可以用http來訪問)。
      2. 開啟服務器的443端口防火墻。

      步驟

      一、安裝acme.sh

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

      這個命令后會將acme.sh安裝到~/.acme.sh/目錄下
      重新載入~/.bashrc

      source ~/.bashrc

      二、生成證書

      acme.sh--issue -d www.your-domin.com--webroot/srv/your-domin.com/ 

      這個命令的意思是用http方式將www.your-domin.com生成一個證書,/srv/your-domin.com/是你的網站根目錄。(這個過程中acme.sh 會全自動的生成驗證文件, 并放到網站的根目錄, 然后自動完成驗證. 最后又自動刪除驗證文件.)

      三、安裝或copy證書到nginx目錄

      默認生成的證書都放在安裝目錄下: ~/.acme.sh/,這個目錄一般來說不能讓nginx或Apache直接使用。所以我們需要將證書放到一個指定的目錄,習慣是放在/etc/nginx/ssl/目錄下。acme提供了--installcert來安裝證書,只需指定目標位置, 然后證書文件會被copy到相應的位置。
      先確保存在/etc/nginx/ssl/目錄

      mkdir /etc/nginx/ssl 

      copy證書并指定nginx reload命令

      acme.sh--installcert-dwww.your-domin.com \ --key-file /etc/nginx/ssl/www.your-domin.com.key \ --fullchain-file /etc/nginx/ssl/fullchain.cer \ --reloadcmd"service nginx force-reload" 

      service nginx force-reload是為了在讓acme自動更新時候能夠重啟nginx使得證書生效。執行完命令可以在/etc/nginx/ssl/看到多了www.your-domin.com.keywww.your-domin.com.cer的文件。

      四、生成 dhparam.pem 文件

      openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048 

      這一步不是必須,但最好加上,后面配置好后會通過ssllabs.com 來驗證一下,如果這一步ssl_dhparam 未配置,將導致 ssllabs.com 的評分降到 B。A+是最好。

      五、配置nginx

      證書已安裝完畢,接下來就是讓nginx來使用這個證書了。由于我這個服務器有幾個站點,而目前只是一個站點配置了證書,因此只修改當前站點的conf即可

      server { listen 80; server_name www.your-domin.com; listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; ssl_certificate /etc/nginx/ssl/www.your-domin.com.cer; ssl_certificate_key /etc/nginx/ssl/www.your-domin.com.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_dhparam /etc/nginx/ssl/dhparam.pem; ... } 

      ssl_prefer_server_ciphers on; 這個配置能提高證書的評分。
      ssl_dhparam /etc/nginx/ssl/dhparam.pem; 能提高證書評分,這個文件是在第四步時生成的,若沒有做則不需要寫這句。
      nginx -t驗證一下nginx配置是否正確,然后systemctl restart nginx重啟一下nginx,就可以用https://www.your-domin.com測試一下你的站點啦。

      六、證書更新

      Let's Encrypt 的證書有效期是 90 天的,需要定期重新申請,不過acme在安裝的時候就已經設置了自動更新,所以這一步不用關心,很省心。
      這里了解一下acme.sh的自動更新:安裝acme時會自動為你創建 cronjob, 每天 0:00 點自動檢測所有的證書, 如果快過期了, 需要更新, 則會自動更新證書.
      查看任務

      # crontab -l 47 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null 

      手動renew一下證書可以通過這個命令

      acme.sh --cron -f 

      七、設置軟件自動更新

      目前由于 acme 協議和 letsencrypt CA 都在頻繁的更新, 因此 acme.sh 也經常更新以保持同步.所以為了省心省力,最好還是設置一下軟件的自動更新,執行下面的命令就可以了。

      acme.sh--upgrade--auto-upgrade 

      其他

      在這個網站可以驗證一下你的證書級別,根據我上面的配置可以評級為A。
      https://www.ssllabs.com/ssltest/analyze.html?d=www.fengxianqi.com

      參考文章


      本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶學習參考,本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.webpost.com.cn/20393.html
      相關開發語言
       八年  行業經驗

      多一份參考,總有益處

      聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

      咨詢相關問題或預約面談,可以通過以下方式與我們聯系

      業務熱線:余經理:13699882642

      Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

      国产成人精品综合在线观看