域名ssl证书怎么获取(干货分享没有域名怎么申请ssl证书)
腾讯云服务器如何申请免费试用 acme申请免费SSL证书,泛域名证书,多域名证书
acme.sh可以通过acme协议生成Let’s Encrypt或者ZeroSSL颁发的免费SSL证书,目前acme.sh默认使用的是ZeroSSL颁发的证书
这两者证书如何选择呢?绝大部分情况下两者没有什么本质差别,一般情况下选择letsencrypt即可。如果出现以下情况时,建议选择zerossl
1、需要支持老旧设备。
2、letsencrypt申请受阻。
至于说两者的安全性,对于非银行电商类的网站来说,这点一般不需要考虑。一般的电商网站也是可以使用的。,你有足够的预算,可以购买OV和EV的证书。
acme安装
安装环境CentOS7.9
curl https://get.acme.sh | sh
或者
wget -O - https://get.acme.sh | sh
如果使用root用户进行安装,会生成文件夹.acme.sh。
文件夹地址/root/.acme.sh
acme.sh提供了两种方式进行验证域名所有权,一种是通过HTTP API,另一种是通过DNS API
HTTP API通过修改Apache和NGINX配置,在根目录添加文件, 通过域名可以访问到该文件,验证成功。DNS API 通过云服务商提供的API(需要云服务商支持),在DNS添加一条TXT解析记录,添加成功则验证通过。国内的云服务比如jdcloud,Aliyun,DNSPod都可以使用这种方式。如果云服务商不在支持的列表里,可以使用腾讯云的DNSPod作为域名解析。证书申请
本文中使用的域名是在阿里云托管的,所以设置部分使用阿里云
设置访问阿里云的验证key
##注此处的APPID 和APPkey为我们从阿里云RAM中获取的,用来验证DNSexport Ali_Key=#34Key_XXX#34export Ali_Secret=#34Secret_XXX#34
acme.sh默认使用的是ZeroSSL作为CA
之一次使用,需要先注册一个acme账号
acme.sh --register-account -m ltmy@exle.comgt
my@exle.com 替换为自己的邮箱
申请证书
acme.sh --issue --dns dns_ali -d ltabc.cngt -d lt#34.abc.cn#34 gt -d lt#34.efg.cn#34 gt
可以申请单域名,泛域名和不同域名
申请成功会在.acme.sh文件夹下面,生成abc.cn文件夹 ,并且证书会存储在文件夹下
注意: 证书申请过程较慢,大概会持续3~5分钟左右,速度取决于 以及DNS生效时间
证书安装(本文使用nginx作为web服务器)
acme.sh --install-cert -d ltabc.cngt \--key-file /etc/nginx/ssl/key.pem \--fullchain-file /etc/nginx/ssl/cert.pem \--reloadcmd #34 /usr/local/nginx/ in/nginx -s reload#34
注意: 如果不使用install-cert命令进行安装,证书更新之后还是被保存在默认目录,会导致已有证书过期之后无法被自动更新
证书配置
证书配置部分请参考nginx或者apache的ssl配置
证书更新
acme 申请的ssl证书默认有效期是90天,acme.sh安装过程中会添加crontab计划任务,每天自动检测所有证书是否需要更新 (acme.sh会在证书失效之前进行自动更新)。查看定时任务,可以使用如下指定进行查看
crontab -l
也可以手动对证书进行强制更新
#34/root/.acme.sh#34/acme.sh --cron --home #34/root/.acme.sh#34 --force
干货分享没有域名怎么申请ssl证书 使用acme生成https证书