讓網站成為 HTTPS 安全站點
本文首發於我的個人部落格: 尾尾部落
HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。 它是一個URI scheme(抽象識別符號體系),句法類同http:體系。用於安全的HTTP資料傳輸。https:URL表明它使用了HTTP,但HTTPS存在不同於HTTP的預設埠及一個加密/身份驗證層(在HTTP與TCP之間)。這個系統的最初研發由網景公司(Netscape)進行,並內置於其瀏覽器Netscape Navigator中,提供了身份驗證與加密通訊方法。現在它被廣泛用於全球資訊網上安全敏感的通訊,例如交易支付方面。
簡而言之,就是讓你的網站有下圖這個小綠標:

image
之前用過阿里雲的 SSL 免費證書,但是期限只有一年,昨天過期了,看了其他收費的 SSL 證書,還是很貴的,在讀小碩實在買不起,只能找找免費的 SSL 證書了。
我們可以從 Let’s Encrypt 獲得網站域名的免費的證書。 Certbot 是Let’s Encrypt推出的獲取證書的客戶端,可以讓我們免費快速地獲取Let’s Encrypt證書。
下面,一步一步教你申請部署ssl證書,並自動續期。
-
進入 Certbot 官網,並選擇你的系統和軟體。我這邊是
Nginx
和Ubuntu 16.04 (xenial)
。image
-
選擇好之後,就會出現具體的部署教程,如下圖
image
安裝
先安裝 python-certbot-nginx
$ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:certbot/certbot $ sudo apt-get update $ sudo apt-get install python-certbot-nginx
開始
certbot有一個Nginx外掛,執行它,按照提示一步一步操作就會自動幫你把證書部署好。
執行如下命令
$ sudo certbot --nginx
選擇你要啟用 HTTPS 的域名,輸入序號即可

image
選擇直接通過 HTTPS 訪問並刪除 HTTP 的方式,或者保留 HTTP,如何你確定你網站中所有的連結都是按照HTTPS來配置的,那麼你可以像我這樣選擇 2。

image
之後,看到Congratulations!就表示部署成功了。

image
自動續期
由於Let的加密證書的有效期是90天,90 天之後證書就會過期,如果要續期就要重複一次上面的步驟,這太麻煩了,Certbot提供了一個自動續期的功能,只需執行如下命令即可:
$ sudo certbot renew --dry-run
至此,SSL證書的部署和自動續期的配置就完成,你的網站就不再是無證駕駛了。