你的網(wǎng)站HTTPS了嗎 | Let’s Encrypt

前言
下午,圖書館閉館了了、得找一個(gè)安全的地方上網(wǎng)(o)/~,一直聽說(shuō)著Let’s Encrypt。前幾天玩了一下,但是本地運(yùn)行Let’s Encrypt不能生成證書,Maybe School DNS question :-D,那就在騰訊云服務(wù)器玩玩。


Let’s Encrypt
Let's Encrypt是由EFF、Mozilla、Cisco、Akamai、IdenTrust與密西根大學(xué)研究人員共同創(chuàng)立的免費(fèi)的憑證中心,目的在于推動(dòng)全球所有的網(wǎng)站都使用HTTPS加密傳輸,創(chuàng)建一個(gè)更安全、更具隱私性的Web。目前Let’s Encrypt由非營(yíng)利的網(wǎng)際網(wǎng)路安全研究組織(ISRG)負(fù)責(zé)營(yíng)運(yùn)。

Let’s Encrypt

如何配置HTTPS

  • 生成證書
    我們先在github克隆letsencrypt項(xiàng)目,然后生成證書。
git clone https://github.com/letsencrypt/letsencrypt
cd ./letsencrypt

# 生成證書
./letsencrypt-auto certonly -d domain.com -d www.domain.com

注意:請(qǐng)將domain換成對(duì)應(yīng)要生成證書的域名?。?!

執(zhí)行腳本之后有三種生成證書的方式可選,一般選擇standalone即可。

1: Apache Web Server plugin - Beta (apache)
2: Place files in webroot directory (webroot)
3: Spin up a temporary webserver (standalone)

成功的話將會(huì)返回如下的信息

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/samego.com/fullchain.pem. Your cert will
   expire on 2017-07-13. To obtain a new or tweaked version of this
   certificate in the future, simply run letsencrypt-auto again. To
   non-interactively renew *all* of your certificates, run
   "letsencrypt-auto renew"

并且我們可以從返回的信息知道生成證書的儲(chǔ)存目錄位于/etc/letsencrypt/live/domain.com/,一共生成四個(gè)證書文件,一般情況下 fullchain.pem 和 privkey.pem 就夠用了。

| 文件名 | 文件作用 |
| ---- | ---- | ---- |
|cert.pem | 服務(wù)端證書|
|chain.pem| 瀏覽器需要的所有證書但不包括服務(wù)端證書,比如根證書和中間證書|
|fullchain.pem| 包括了cert.pem和chain.pem的內(nèi)容|
|privkey.pem| 證書的私鑰|

證書的有效期為三個(gè)月,過(guò)期后我們需要重新生成證書,letsencrypt內(nèi)已經(jīng)有指令重新生成。

/opt/certbot/letsencrypt-auto renew

為了方便呢,我們可以crontab定時(shí)重新生成證書,如何定時(shí)呢就不說(shuō)了。


  • 配置nginx
    要修改的nginx的配置文件位于/etc/nginx/sites-enabled/default。
server {
    listen 443;
    #domain修改成你的域名即可
    server_name domain.com www.domain.com; 

    ssl on;
    #fullchain證書路徑
    ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
    #privkey證書路徑
    ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
    ssl_session_timeout 5m;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
    ssl_prefer_server_ciphers on;

    # 下面是我個(gè)人反代理的,不用管!!!
        location / {
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass https://alicance.github.io;
    }
}

最后,我們重啟nginx服務(wù)器即可!要是nginx起不來(lái)的話,那就看看日志!!!

# 重啟nginx
sudo systemctl restart nginx.service

# 萬(wàn)一起不來(lái) 日志日志日志,重要的事情說(shuō)三遍!??!
tail -f /var/log/nginx/error.log 

證書生成了、服務(wù)器配置好了,那就在瀏覽器看看。

secure

PS:生成的證書,即使域名解析到了其它的IP照樣可以使用,適合局域網(wǎng)內(nèi)SSL。

Alic say : ****價(jià)值源于技術(shù),貢獻(xiàn)源于分享****

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

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

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