引言
因为入手了一个 .dev
的域名,由于该顶级域名强制使用 HTTPS
,所以不得不自签 SSL
证书(企业级 SSL
的证书一来要花钱,二来申请周期长,对于个人开发者而言不算是一个好的方法,注意:用于生产环境的项目一定要走相应的法律程序申请 SSL 证书,以免出现不必要的麻烦。)
原先一直借助 acme.sh 脚本 申请 Let’s Encrypt 颁发的 SSL
证书,但申请过程中本机的 80
端口必须未被占用(用来验证证书)。由于我使用的 Nginx
的Docker
容器,就不能顺利自签 SSL
证书,突然想到 Cloudflare
也是可以签名证书,就写了这篇博文记录一下整个流程。
正文
利用 cloudflare
签名 ssl
证书就相对 acme.sh
比较简单,并且有效期更长。 cloudflare
这个网站我就不介绍了,自己百度、谷歌一大堆介绍。
首先,登录官网注册账号并将域名托管到 cloudflare
,这边不是主要内容,我就一笔带过,还不会的就 Baidu
、 Google
。
- 注册、登录
cloudflare
账号; - 添加站点,输入你的域名;
- 选择最下面的
Free
; - 后面就会扫描
DNS
,自己根据提示修改域名的名称服务器,等待激活,成功后cloudflare
会发一封email
到你的邮箱。
后面就介绍主要流程
进入域名站点详细页面设置
SSL/TLS
加密模式(后两种二选一),并且打开下面的SSL/TLS
建议程序。接着就是创建证书,生成证书和对应的
key
创建成功后将对应的信息自行创建文件保存到服务器并配置
Nginx
开启HTTPS
协议。
注意:以上方法虽然简单且证书有效期长,但是必须开启
cloudflare
的cdn
,该证书只在服务器和cloudflare
之间有效。
后记
后面有空补上其他自签 SSL
证书的方法。如有错误,请在下面留言,愿与君共勉。