使用Let’s Encrypt生成免费的SSL证书
SSL(安全套接层,Secure Sockets Layer),及其继任者 TLS (传输层安全,Transport Layer Security)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 会在传输层对网络连接进行加密。
https://www.linuxprobe.com/wp-content/uploads/2019/01/87c99076da5363fb5107be512773e422_meitu_1.jpgSSL的用处
通过 SSL 加密,网站与用户之间的数据交互会更加安全,能够避免大多数的网络窃听问题。通常在登录以及涉及交易等安全要求比较高的情况下,应该要求强制 SSL 加密。实际上,仅仅在登录页面提供 SSL 并不能真正解决安全问题,在公共 Wi-Fi 等公开环境下,攻击者依旧能够获得用户的登录 cookie 从而假冒用户身份,因此对网站进行全站加密是很有必要的。2015 年,豆瓣、百度等众多网站终于在难以忍受运营商劫持以及嵌入广告等问题后,开启了全站 HTTPS,是国内 HTTPS 应用的一大里程碑。Let's Encrypt 是什么?
Let's Encrypt 是由互联网安全研究小组(ISRG,一个公益组织)于 2015 年末推出的数字证书认证机构,将通过旨在消除当前手动创建和安装证书的复杂过程的自动化流程,为安全网站提供免费的 SSL/TLS 证书。Let's Encrypt 的使用相对简单,并且完全免费,是很多中小网站的首先。certbot 是什么?
根据官方介绍,Certbot 是一个简单易用的 SSL 证书部署工具,由 EFF 开发,前身即 Let’s Encrypt 官方(Python)客户端。Certbot 同时也支持其它支持 ACME 协议的 CA。简单来说,cerbot 就是一个简化 Let's Encrypt 部署,和管理 Let's Encrypt 证书的工具。安装和使用
安装
cerbot/Let's Encrypt 支持众多 Linux 发行版,也支持 BSD 平台,可直接使用相应的包管理工具进行安装:Ubuntu 16.04sudo apt-get install letsencrypt -t jessie-backports # Debian 8sudo apt-get install letsencrypt # Debian testing/unstablesudo dnf install letsencrypt # Fedorasudo pacman -S letsencrypt # ArchUbuntu 14.04、CentOS、BSD 以及 Mac 下可以通过脚本安装:wget https://dl.eff.org/certbot-autochmod a+x certbot-auto获取证书
certbot-auto certonly # 如果安装的是 letsencrypt 把 certbot-auto 替换成 letsencrypt 即可自动续期
certbot-auto renew --quiet # CentOS/RHEL部署 Nginx
# 将所有 HTTP 请求指向 HTTPSserver {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;# 网站的其它设置不变# [...]}
页:
[1]