使用let's encrypt代替阿里雲免費證書


  

    去年11月底開始着手使用https來代替http,提升安全性,同時也能避免網絡運營商的廣告。因為用的阿里雲的全家桶(ECS+域名+CDN+OSS+直播等),正好看到阿里雲上有免費的SSL證書,雖然有一年的期限,但想着先上了再說,一年之后,也許就全免費了呢。這一年期間,使用阿里雲的免費證書也是各種坑,首先不知道每個賬戶只有20個(去年這個時候是連說明都沒有的,不留工單問,沒人知道),就一個勁的申請,結果浪費了很多(好像是說審核關閉的,還是吊銷的,也占用1個指標,我去)。

    今年9月份的時候,微信公眾號端又要開發一些東西,就新搭了服務器,但是不想去折騰阿里雲的免費SSL證書了。正好,let's的免費證書的工具也比去年有更新,很多瀏覽器都支持了,據說明年還支持泛域名,所以,就考慮用這個啦。至於其他的簽發商更安全啊,更有名啊,更屌B啊,比如說加密算法之類更牛啊等,這些就不考慮了,反正let's的目前完全夠用了,又不是天天有幾百萬的資金通過項目流動(流汗)。至於let's一次簽發90天的問題,一個crontab就解決。

        1)安裝let's(基於centos,其他系統大同小異)

yum install epel-release
cd /data/certificate
wget https://dl.eff.org/certbot-auto --no-check-certificate
chmod +x ./certbot-auto
./certbot-auto -n


            說明,./certbot-auto -n只是用來安裝依賴包的,也可以跳過直接到下面的生成證書的步驟,國內VPS或服務器上使用的話建議先修改為國內的pip源。

        2)生成證書
            首先要將相應的域名,解析到服務器。(如本例中的www.chen.net)
            單域名生成證書:

./certbot-auto certonly --email email@email.com --agree-tos --no-eff-email --webroot -w /data/web/www -d www.chen.net

            多域名單目錄生成單證書:(即一個網站多個域名使用同一個證書)

./certbot-auto certonly --email email@email.com --agree-tos --no-eff-email --webroot -w /data/web/www -d www.chen.net -d help.chen.net

            多域名多目錄生成一個證書:(即一次生成多個域名的一個證書)

./certbot-auto certonly --email email@email.com --agree-tos --no-eff-email --webroot -w /data/web/www -d www.chen.net -d help.chen.net -w /data/wwwroot/web -d www.chen.cn -d chen.cn

        3)結果

        IMPORTANT NOTES:
        - Congratulations! Your certificate and chain have been saved at
        /etc/letsencrypt/live/www.chen.net/fullchain.pem. Your cert will
        expire on 2018-02-15. To obtain a new or tweaked version of this
        certificate in the future, simply run certbot-auto again. To
        non-interactively renew *all* of your certificates, run
        "certbot-auto renew"
        - If you like Certbot, please consider supporting our work by:

        Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
        Donating to EFF: https://eff.org/donate-le

        就是生成成功。

    4)配置nginx
  
  注意圖中紅色部分,請使用 fullchain.pem(不是chain.epm),替換掉原來阿里雲下載的pem,否則的話,在安卓端,會出現打開空白的問題。

 5)配置crontab
  * * * */1 * /data/certificate/certbot-auto renew --disable-hook-validation

 6)在阿里雲上,OSS和CDN的配置上,選擇直接輸入證書內容替換原來直接選擇的阿里雲證書,就可以了。

 

  注意事項:

  1、因為默認環境是不允許訪問以"."開頭的隱藏文件及目錄的,所以訪問http://abc.com/.well-known/acme-challenge/**** 這個鏈接的話返回403錯誤,所以必須要將對應虛擬主機配置文件里的
  location ~ /\.
  {
    deny all;
  }
  這段配置刪掉或注釋掉或在這段配置前面加上
  location ~ /.well-known {
    allow all;
  }

  以上配置代碼,然后重啟nginx。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM