SSL(安全套接層,Secure Sockets Layer),及其繼任者 TLS (傳輸層安全,Transport Layer Security)是爲網絡通訊提供安全及數據完整性的一種安全協議。TLS 與 SSL 會在傳輸層對網絡鏈接進行加密。 |
經過 SSL 加密,網站與用戶之間的數據交互會更加安全,可以避免大多數的網絡竊聽問題。一般在登陸以及涉及交易等安全要求比較高的狀況下,應該要求強制 SSL 加密。linux
實際上,僅僅在登陸頁面提供 SSL 並不能真正解決安全問題,在公共 Wi-Fi 等公開環境下,攻擊者依舊可以得到用戶的登陸 cookie 從而假冒用戶身份,所以對網站進行全站加密是頗有必要的。centos
2015 年,豆瓣、百度等衆多網站終於在難以忍受運營商劫持以及嵌入廣告等問題後,開啓了全站 HTTPS,是國內 HTTPS 應用的一大里程碑。安全
Let's Encrypt 是由互聯網安全研究小組(ISRG,一個公益組織)於 2015 年底推出的數字證書認證機構,將經過旨在消除當前手動建立和安裝證書的複雜過程的自動化流程,爲安全網站提供免費的 SSL/TLS 證書。cookie
Let's Encrypt 的使用相對簡單,而且徹底免費,是不少中小網站的首先。網絡
根據官方介紹,Certbot 是一個簡單易用的 SSL 證書部署工具,由 EFF 開發,前身即 Let’s Encrypt 官方(Python)客戶端。Certbot 同時也支持其它支持 ACME 協議的 CA。工具
簡單來講,cerbot 就是一個簡化 Let's Encrypt 部署,和管理 Let's Encrypt 證書的工具。網站
cerbot/Let's Encrypt 支持衆多 Linux 發行版,也支持 BSD 平臺,可直接使用相應的包管理工具進行安裝:ui
Ubuntu 16.04
sudo apt-get install letsencrypt -t jessie-backports # Debian 8
sudo apt-get install letsencrypt # Debian testing/unstable
sudo dnf install letsencrypt # Fedora
sudo pacman -S letsencrypt # Arch
Ubuntu 14.0四、CentOS、BSD 以及 Mac 下能夠經過腳本安裝:加密
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
certbot-auto certonly # 若是安裝的是 letsencrypt 把 certbot-auto 替換成 letsencrypt 便可spa
certbot-auto renew --quiet # CentOS/RHEL
# 將全部 HTTP 請求指向 HTTPS
server {
server_name example.com;
listen 80;
return 301 https://$server_name$request_uri;
}
# 監聽 HTTPS 請求
server {
server_name example.com;
listen 443 ssl;
# TLS 基本設置
ssl_certificate /path/to/your/fullchain.pem;
ssl_certificate_key /path/to/your/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# 網站的其它設置不變
# [...]
}