欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

获取免费的证书和域名

程序员文章站 2022-07-12 12:23:05
...

获取免费的证书和域名

最近有需求需要弄一个免费的证书和域名,分享一下
获取证书是在 freenom网站上获取证书
1、在freenom网站注册一个账号
2、在搜索框中输入自己想要的域名
获取免费的证书和域名
点击Check Availability,检查域名宕可用性
3、选择一个免费的域名,这里我就选择.ml的域名
获取免费的证书和域名
选择好以后就点击Get it now
4、然后点击Checkout获取免费的证书和域名
选择12个月免费,Continue继续,然后下单
获取免费的证书和域名

5、到此为止就获取到了属于自己的一个免费域名了

=============================(我是华丽的分割线)

获取免费的证书我们用的是Let’s Encrypt,获取免费证书前必须要有域名,可以使用上面的免费域名,也可以是其它的地方的域名,这里我还是以freenom为例子继续说
1、获取完免费域名,我们在右上角选择my domain
获取免费的证书和域名
2、这里就有我们刚刚注册好的域名,选择管理域名
获取免费的证书和域名
选择管理DNS
获取免费的证书和域名
3、填写DNS转发的服务器
获取免费的证书和域名
4、等待一下,大概几分钟,ping一下域名,如果出现ip地址返回,证明DNS生效了
获取免费的证书和域名
5、登陆服务器,安装certbot

yum install -y python3 && pip3 install certbot

certbot 默认使用http方式对域名所有权进行验证,该操作需要绑定vps的80端口。如果80端口已被占用,请先停止占用的进程,例如停止Nginx:

systemctl stop nginx

阿里云、腾讯云等购买的服务器,还需要在vps网页后台的安全组中放行80端口

6、接着运行命令为域名www.csdn.ml获取证书:

certbot certonly --standalone -d www.csdn.ml

如果域名记录未指向服务器的IP,会报错并提示域名解析问题。
大概半分钟就拿到了免费的证书,运行

certbot certificates

命令可查看域名证书的路径和国旗时间

7、把获取到的证书和**配置到Nginx或者Apache中

8、证书自动更新
Let’s Encrypt证书的有效期是三个月,超过期限则需要续签。证书续期可以手动完成,例如:

systemctl stop nginx
certbot renew
systemctl restart nginx

也可以配置crontab任务自动续签,在/etc/crontab文件末添加一行:

0 0 1 */2 0 root systemctl stop nginx; /usr/local/bin/certbot renew; systemctl restart nginx

pip3默认安装的certbot路径是/usr/local/bin/certbot,可使用 which certbot 查看,如果输出不同,请记得替换。该配置将每两个月自动运行certbot并续签证书。如果你的证书快到期了还没有续签,贴心的EFF(电子前哨基金会)会发邮件提醒,记得到期前续签就行。