centos7使用letsencrypt获取免费https证书

您所在的位置:网站首页 letsencrypt证书文件 centos7使用letsencrypt获取免费https证书

centos7使用letsencrypt获取免费https证书

2024-03-28 17:49| 来源: 网络整理| 查看: 265

免费的证书 目前我就找到两个 可以申请的网站.

 

FreeSSl特点:

部分免费方便,申请过程简单,可以一次申请一年有效期。

官方地址

https://freessl.cn/apply?domains=xcx.cnxinfuli.com&product=trustasia01&from=

 

Let’s Encrypt特点:

SSL证书免费,申请过程简单,使用提供的certbot工具即可自动生成SSL证书。

虽然证书只有90天的有效期,但是可以通过脚本定期更新,配置好后即可长久使用。

官方地址

https://letsencrypt.org/zh-cn/

 

 

什么是 Let’s Encrypt?

部署 HTTPS 网站的时候需要证书,证书由 CA 机构签发,大部分传统 CA 机构签发证书是需要收费的,这不利于推动 HTTPS 协议的使用。

Let’s Encrypt 也是一个 CA 机构,但这个 CA 机构是免费的。也就是说签发证书不需要任何费用。Let’s Encrypt 由于是非盈利性的组织,需要控制开支,他们搞了一个非常有创意的事情,设计了一个 ACME 协议。

那为什么要创建 ACME 协议呢,传统的 CA 机构是人工受理证书申请、证书更新、证书撤销,完全是手动处理的。而 ACME 协议规范化了证书申请、更新、撤销等流程,只要一个客户端实现了该协议的功能,通过客户端就可以向 Let’s Encrypt 申请证书,也就是说 Let’s Encrypt CA 完全是自动化操作的。

任何人都可以基于 ACME 协议实现一个客户端,官方推荐的客户端是Certbot 。

什么是通配符证书

在没有出现通配符证书之前,Let’s Encrypt 支持两种证书。

1)单域名证书:证书仅仅包含一个主机。

2)SAN 证书:域名通配符证书类似 DNS 解析的泛域名概念,通配符证书就是证书中可以包含一个通配符(*.exmaple.com)。主域名签发的通配符证书可以在所有子域名中使用,比如 www.example.com、bbs.example.com。

申请通配符证书

Let’s Encrypt 上的证书申请是通过 ACME 协议来完成的。ACME 协议规范化了证书申请、更新、撤销等流程,实现了 Let’s Encrypt CA 自动化操作。解决了传统的 CA 机构是人工手动处理证书申请、证书更新、证书撤销的效率和成本问题。

ACME v2 是 ACME 协议的更新版本,通配符证书只能通过 ACME v2 获得。要使用 ACME v2 协议申请通配符证书,只需一个支持该协议的客户端就可以了,官方推荐的客户端是 Certbot

客户在申请 Let’s Encrypt 证书的时候,需要校验域名的所有权,证明操作者有权利为该域名申请证书,目前支持三种验证方式:

dns01:给域名添加一个 DNS TXT 记录。

http01:在域名对应的 Web 服务器下放置一个 HTTP well-known URL 资源文件。

tls-sni01:在域名对应的 Web 服务器下放置一个 HTTPS well-known URL 资源文件。

 

申请通配符证书,只能使用 dns验证的方式

 

 

概念都是抄来的,主要是不想通过域名管理的DNS TXT记录值获取证书。搜到的资料比较少,所以自己找了并整理了一下。

 

 

 

 

 

# 安装git并下载acme源码

yum -y install git

cd /opt

mkdir acme cd acme

git clone https://github.com/letsencrypt/letsencrypt

下的比较慢可以用链接下载:https://pan.baidu.com/s/1COFa2S2x_MR6wkY_fg1vIg

提取码:i72c

 

关于webroot

certbot提供了两种安装配置方式:

webroot   在已存在的Nginx上配置https

standalone certbot帮助创建带https的Nginx

 

 

# 获取证书

1 standalone nginx 证书 需要服务器上的80端口不被占用  否则会报下面的错 cd letsencrypt

 

./certbot-auto certonly --standalone --email [email protected]   -d pdtest.aircourses.com

 

出现提示按照提示填写信息,有A选A,有Y选Y

关闭nginx 之后 再次执行  生成了证书

 证书位置

已申请的证书会放在 /etc/letsencrypt/archive下,而/etc/letsencrypt/live是指向最新版本的符号链接。web server中关于证书的配置建议指向live目录下的文件,以免证书更新后还需要更改配置。 每个域名一个目录,主要包含以下几个文件:

cert.pem         申请的服务器证书文件

privkey.pem     服务器证书对应的私钥

chain.pem       除服务器证书外,浏览器解析所需的其他全部证书。比如根证书和中间证书

fullchain.pem    包含服务器证书的全部证书链文件

 

 

 

 

 

配置好nginx证书之后 证书提示也是安全的 注意开启防火墙

证书配置参考

https://www.cnblogs.com/hupeng1234/p/9614231.html

 

 

2 webroot nginx 证书 适用于在生产上已经安装了nginx的情况

cd letsencrypt

#./certbot-auto certonly --webroot --agree-tos -v -t --email 邮箱地址 -w 网站根目录 -d 网站域名

 

./certbot-auto certonly --webroot --agree-tos -v -t --email [email protected] -w /ftp/www/ -d pdtest.aircourses.com

 

 

 

# 更新证书测试证书的有效期是否变更

./certbot-auto renew --force-renew

# 查看证书有效时间

openssl x509 -in fullchain.pem -noout -dates

 

# renew之后

 

# 证书检测地址

https://www.ssllabs.com/ssltest/analyze.html?d=pdtest.aircourses.com&latest

 

 

# 如果需要定时更新证书 可以在定时任务里填写傻瓜式脚本

0 0 1 * * root sh /root/ certbot-auto renew --force-renew  && nginx -s reload >/dev/null 2>&1

 

参考

https://www.jianshu.com/p/c6f6f277a23d

https://www.cnblogs.com/hupeng1234/p/9614231.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3