免费为域名生成证书
Posted 王小雷-多面手
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了免费为域名生成证书相关的知识,希望对你有一定的参考价值。
- 目的
后台需要https或者前端需要https访问。需要有域名证书,介绍如何生成https证书。域名任意前缀都支持。本例子使用certbot签发letsencrypt证书,让spring boot后端使用。达到后端https的目的。 - 资料
https://letsencrypt.org/
https://certbot.eff.org/lets-encrypt/ubuntubionic-nginx
1.安装certbot
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
2.ssl证书生成与域名增加TXT记录
- 2.1开始生成证书,把abc.com换成自己的域名
sudo certbot certonly -d "*.abc.com" -d abc.com --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
- 2.2 执行上方语句会出现如下片段
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name
_acme-challenge.abc.com with the following value:
lSdsQvr1bsdfsffsdfwwfwefwewesfdfsdfss
Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
2.3 添加txt解析记录呢。去域名购买商(如xx云 - 域名管理)那里,增加解析,然后选择解析类型为TXT即可。
就是说,把_acme-challenge.abc.com
作为名字,lSdsQvr1bsdfsffsdfwwfwefwewesfdfsdfss
作为值,添加txt解析记录。 -
2.4 查看最终文件结果
$ sudo ls .
README cert.pem chain.pem fullchain.pem privkey.pem
3.生成spring boot可用的PKCS12证书
openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out abc.p12
在spring boot 中使用,在配置文件application.properties中
###ssl
server.ssl.key-store:classpath:abc.p12
server.ssl.key-store-password:自己的密码
server.ssl.keyStoreType:PKCS12
此时放到服务器后就是可用的https访问了,并且域名也是txt了。
以上是关于免费为域名生成证书的主要内容,如果未能解决你的问题,请参考以下文章