使用certbot配置https网站

什么是https

HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer)HTTPS是一种网络安全传输协议。在计算机网络上,HTTPS经由超文本传输协议进行通信,利用SSL/TLS来对数据包进行加密,以安全为目标的HTTP通道,简单讲就是HTTP的安全版。HTTPS的主要思想是在不安全的网络上创建一安全信道,并可在使用适当的加密包和服务器证书可被验证且可被信任时,对窃听和中间人攻击提供合理的防护。

关于TLS/SSL

传输层安全协议(英语:Transport Layer Security,缩写:TLS),及其前身安全套接层(Secure Sockets Layer,缩写:SSL)是一种安全协议,目的是为互联网通信,提供安全及数据完整性保障。简单点说就是将http进行安全套接层,http请求加上了套也就相对变得比较安全。

怎么获得 SSL 安全证书呢?

理论上,我们自己也可以签发 SSL 安全证书,但是我们自己签发的安全证书不会被主流的浏览器信任,所以我们需要被信任的证书授权中心( CA )签发的安全证书。而一般的 SSL 安全证书签发服务都比较贵,比如 Godaddy 、 GlobalSign 等机构签发的证书一般都需要20美金一年甚至更贵,不过为了加快推广 https 的普及, EEF 电子前哨基金会、 Mozilla 基金会和美国密歇根大学成立了一个公益组织叫 ISRG ( Internet Security Research Group ),这个组织从 2015 年开始推出了 Let’s Encrypt 免费证书。这个免费证书不仅免费,而且还相当好用,所以我们就可以利用 Let’s Encrypt 提供的免费证书部https 了。

Let’s Encrypt 及 Certbot 简介

Let’s Encrypt 是 一个叫 ISRG ( Internet Security Research Group ,互联网安全研究小组)的组织推出的免费安全证书计划。参与这个计划的组织和公司可以说是互联网顶顶重要的先驱,除了前文提到的三个牛气哄哄的发起单位外,后来又有思科(全球网络设备制造商执牛耳者)、 Akamai 加入,甚至连 Linux 基金会也加入了合作,这些大牌组织的加入保证了这个项目的可信度和可持续性。

Certbot 使用方法

Certbot 的官方网站是 https://certbot.eff.org/ ,打开这个链接选择自己使用的 web server 和操作系统,EFF 官方会给出详细的使用方法,如下图

我的运行环境为centos7.3,Web 服务器是 Nginx 1.12.1,当前工作目录为 /root

使用EFF的Certbot在网站上自动启用HTTPS,部署 Let's Encrypt证书。

首先安装Certbot

wget https://dl.eff.org/certbot-auto
chmod -R 777 certbot-auto

开始使用
Certbot有一个Nginx插件,在很多平台上都支持,并且自动获取和安装证书:

sudo ./certbot-auto --nginx

选择需要生成证书的网站

输入2选择自动更改nginx并生效


打开网站

证书位置

所有版本已申请的证书放在 /etc/letsencrypt/archive下,/etc/letsencrypt/live是指向最新版本的符号链接。web server中关于证书的配置建议指向 live 目录下的文件,以免证书更新后还需要更改配置。
每个域名一个目录,主要包含以下几个文件:
cert.pem 申请的服务器证书文件
privkey.pem 服务器证书对应的私钥
chain.pem 除服务器证书外,浏览器解析所需的其他全部证书,比如根证书和中间证书
fullchain.pem 包含服务器证书的全部证书链文件

运行上面这个命令将会得到一个证书给你,让Certbot自动编辑你的Nginx配置来提供它。如果您感觉更保守,想手动更改Nginx配置,则可以使用certonly 子命令:

sudo ./certbot-auto --nginx certonly

证书有效期为三个月,但是可以无限续订

自动更新

可以配置Certbot在到期之前自动更新你的证书。既然让我们把证书最后加密了90天,那么最好利用这个功能。可以通过运行以下命令来测试证书的自动续订:

sudo ./certbot-auto renew --dry-run

如果执行后正常,可以通过添加一个cron任务安排自动更新,该任务运行以下操作:

./certbot-auto renew

参考资料
https://certbot.eff.org/

sails博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论
  • 本站由白俊遥博客程序搭建
  • Laravel-SailsBlog © 2018 www.sails.site 版权所有 ICP证:浙ICP备18032484号
  • 联系邮箱:zhimeng0818@163.com