1、Let's Encrypt简介

Let's Encrypt —— 是一个由非营利性组织互联网安全研究小组(ISRG)提供的免费、自动化和开放的证书颁发机构(CA),简单的说,就是为网站提供免费的 SSL/TLS 证书。互联网安全研究小组(ISRG):ISRG是美国加利福尼亚州的一家公益公司,成立于2013年5月,第一个项目是Let's Encrypt证书颁发机构。

Let’s Encrypt 使用 ACME 协议来验证您对给定域名的控制权并向您颁发证书。要获得 Let’s Encrypt 证书,您需要选择一个要使用的 ACME 客户端软件。Let’s Encrypt 不控制或审查第三方客户端,也不能保证其安全性或可靠性。官方推荐使用 Certbot 客户端来签发证书,官网:https://certbot.eff.org/

ACME协议:

  • Automatic Certificate Management Environment=ACME,自动认证管理环境协议
  • ACME协议的基本思路是:
    • 在你服务器上生成一次性的随机特征数据(nonce)
    • 然后通过Let’s Encrypt的服务器核对这个数据
    • 核对成功发放证书

使用前提:

  • 域名,它会生成指定域名的证书
  • 在域名指向的服务器上能访问https
  • Linux环境

2、环境准备

Certbot的两种工作方式:

Standalone 方式:

certbot 会自己运行一个 web server 来进行验证。如果我们自己的服务器上已经有 web server 正在运行 (比如 Nginx 或 Apache ),用 standalone 方式的话需要先关掉它,以免冲突。

Web root 方式:

certbot 会利用既有的 web server,在其 web root目录下创建隐藏文件,Let’s Encrypt 服务端会通过域名来访问这些隐藏文件,以确认你的确拥有对应域名的控制权。

安装Nginx,Nginx位于第三方的yum源里面,而不在Centos官方yum源里面

#安装RHEL
sudo yum install epel-release
#yum更新
yum update
yum install -y nginx

安装wget

yum -y install wget

下载Certbot客户端

#下载
wget https://dl.eff.org/certbot-auto
#添加执行权限
chmod a+x ./certbot-auto

编辑nginx的配置文件

server {listen 80 default_server;listen [::]:80 default_server;#1.配置合法域名server_name yuanjing.com;#2.配置应用根目录root /usr/share/nginx/html;
}

3、生成并配置证书

使用certbot-auto命令,生成证书

#域名必须真实有效
./certbot-auto certonly --webroot --email yuanjing@lagou.com -w /usr/share/nginx/html/ -d [填写合法域名的地址]

生成的证书放在/etc/letsencrypt/live/[网站域名]下

例如:/etc/letsencrypt/live/yuanjing.com

文件名 内容
cert.pem 服务端证书
chain.pem 浏览器需要的所有证书但不包括服务端证书,比如根证书和中间证书
fullchain.pem 包括了cert.pem和chain.pem的内容
privkey.pem 证书的私钥

一般情况下fullchain.pem和privkey.pem就够用了

[centos@yuanjing ~]$ tree /etc/letsencrypt/
......
├── live
│ └── yuanjing.com (别名,最终,看自己域名)
│ ├── cert.pem -> ../../archive/yuanjing.com/cert1.pem
│ ├── chain.pem -> ../../archive/yuanjing.com/chain1.pem
│ ├── fullchain.pem ->
../../archive/yuanjing.com/fullchain1.pem
│ ├── privkey.pem ->
../../archive/yuanjing.com/privkey1.pem
│ └── README
......

配置nginx支持https访问

server {listen 443 ssl http2;server_name yuanjing.com; # 设置域名ssl_certificate  "/etc/letsencrypt/live/yuanjing.com/fullchain.pem"; # 证书ssl_certificate_key  "/etc/letsencrypt/live/yuanjing.com/privkey.pem"; # 私钥

http 跳转到 https

在网站在访问http时都会将http请求重定向到https,只需在nginx中配置下。配置如下

server {listen 80 default_server;server_name yuanjing.com www.yuanjing.com;return 301 https://$server_name$request_uri; # 这个是固定的
}

重启Nginx后生效

nginx -s reload 

4、更新证书

默认证书有效期是3个月,所以需要续期。

设置每月1日的凌晨3点就会执行一次所有域名的续期操作

#创建定时任务
sudo crontab -e
#设置定时策略
#/home/ubuntu/soft/certbot-auto:certbot所在的目录
0 3 1 * * /home/ubuntu/soft/certbot-auto renew --renew-hook "sudo nginx -s reload"
#查看一下是否存在刚才添加的定时命令
sudo crontab -l

Let‘s Encrypt相关推荐

  1. .NET Core 常用加密和Hash工具NETCore.Encrypt

    前言 在日常开发过程中,不可避免的涉及到数据加密解密(Hash)操作,所以就有想法开发通用工具,NETCore.Encrypt就诞生了.目前NETCore.Encrypt只支持.NET Core ,工 ...

  2. 实现nginx上配置免费证书Let's Encrypt

    Let's Encrypt 的免费证书有效期为三个月,不过可以免费续期,写一个脚本定期更新即可. 准备一台nginx 服务器 ,将以下三个附件上传到你的nginx服务器. 1.下载脚本文件,wget ...

  3. 申请 Let's Encrypt 通配符 HTTPS 证书

    一.背景知识 1.1.什么是通配符证书 通配符证书,又叫泛域名证书,一张通配符的证书可以保护一个域名下同级子域名,使他们都变成 https 加密链接,不需要配置一个子域名再申请一个新证书了,而且不限制 ...

  4. let's encrypt部署免费泛域名证书

    环境说明 [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) [root@localhos ...

  5. Let's Encrypt 免费通配符 SSL 证书申请教程——但是也需要email,域名所有权等,如果是黑产用的话会这样用吗?会不会暴露自己身份???...

    Let's Encrypt 免费通配符 SSL 证书申请教程 from:https://blog.csdn.net/English0523/article/details/79608464 2018 ...

  6. 阿里云Ubuntu 14.04 + Nginx + let's encrypt 搭建https访问

    用云旺的做IM,ios端图片地址只能是https的才能显示,所以为服务器增加证书 Let's Encrypt是一个免费并且开源的CA,且已经获得Mozilla.微软等主要浏览器厂商的根授信 1. 下载 ...

  7. Let's Encrypt 免费SSL配置

    2019独角兽企业重金招聘Python工程师标准>>> 官方网址 https://letsencrypt.org/ UPDATE: [2018/10/26]如果创建证书时出现 Cli ...

  8. 【HTTPS】Let's Encrypt certbot renew

    背景: web应用 有IPv4和IPv6地址,但是未在同一台服务器上 使用 Let's Encrypt,当证书过期之后,执行certbot renew 时,报错了, 报错 please make su ...

  9. 使用Let`s encrypt 免费的https 证书

    在iOS上以前暂时屏蔽https使用http的接口,将在未来被苹果拒绝: 之前传苹果会在2017年1月1日强制要求支持https,但是现在苹果又延迟该计划了 https://developer.app ...

  10. ca服务器证书鉴定计划,Let’s Encrypt 项目计划自动化地提供免费的 CA 证书

    Let's Encrypt Mozilla.思科.Akamai.IdenTrust.EFF 和密歇根大学研究人员联合宣布了 Let's Encrypt CA 项目,计划为网站提供免费的基本 SSL 证 ...

最新文章

  1. 拿到腾讯字节快手 offer 后,他的 LeetCode 刷题经验在 GitHub 火了!
  2. html左右阴影效果图,css实现横向菜单带阴影效果(不用滤镜实现)
  3. layui 怎么设置点击图片放大_layui实现一个图片点击放大
  4. Python:执行精确的浮点数运算
  5. python 数据分析工具之 numpy pandas matplotlib
  6. centos6安装mysql并远程连接_如何开启phpstudy中mysql的远程连接
  7. 2020数学建模国赛C题思路
  8. LeetCode 277. 搜寻名人(思维题)
  9. android前端开发 布局学习
  10. 难住了N个面试者,http协议无状态中的 状态 到底指的是什么?!
  11. vscode在windows10系统下进行go语言编程(无法代码提示)
  12. 小白都能看懂的numpy与pandas中axis解释
  13. 机器学习 —— 神经网络(matlab)
  14. i2c驱动之调用ioctl函数进行读写at24c08
  15. Python爬取豆瓣各类电影排行榜
  16. drm debug log with drm.debug=6 debug
  17. 日本经验丨被忽视的老年玩具市场需求潜力巨大,独家解析产品创新三大方向
  18. 排列组合 C(n,m)
  19. JavaSE基础阶段学习笔记
  20. A005:查找文件之find, locate, whereis, which, type

热门文章

  1. Java 如何删除cookie
  2. 弱网测试----苹果手机
  3. acs代表什么_电动车上的acs和正常是什么意思
  4. MyBatis查询数据返回null
  5. Ubuntu18.04安装gcc
  6. IBM/Thinkpad T61的骗局——最近疯起的二手T61高配置低价的真实故事
  7. gym.wrappers介绍
  8. 上海人社APP历年社保查询攻略
  9. Python调用outlook发送邮件,发送给多人、抄送给多人并带上附件
  10. Spring Cloud Gateway 限流适配多规则的解决方案