前言
笔者近期为网站配置HTTPS的域名,查找了大量方案,最近寻得一个不错的解决方式,通过OHTTPS获取免费的证书并部署到阿里云服务器上。
步骤
到OHTTPS官网注册账号
官方地址如下,读者可以先行到官网注册一下账号,笔者为了图方便直接用GitHub绑定完成注册,这一步骤非常简单,不多赘述。
创建证书
完成上述步骤后就可以开始创建证书了,如下图所示,点击证书管理,选择创建证书
然后开始配置域名,这里笔者使用的配置方式是泛域名,如下图所示,例如我们的域名为www.baidu.com
,我们就可以配置为 *.baidu.com
阿里云配置解析
接下来进入到验证域名的环节,如下图所示我们需要到阿里云域名解析中添加一条关于cname
的解析。
我们首先到阿里云服务找到云解析dns
找到自己需要配置https的域名,点击解析设置
如下图,将OHTTPS生成的值粘贴到右边的解析配置中,注意记录类型选择cname。这一步骤完成后回到OHTTPS点击创建证书即可。
生成证书并下载
上述步骤完成后可以在证书管理中看到证书,我们将证书下载到本地并传到云服务器上的某个文件夹中,因为笔者的nginx安装在etc文件夹下,所以笔者就将证书存放到/etc/nginx/certificates
中。
部署节点
为了确保证书可以被实时更新我们还需要进行节点部署,我们到阿里云服务器上选择访问控制
点击用户,选择创建用户
起个好听的名字,勾选第二个选项,点击确定。
创建后选择添加权限,为其添加云盾证书管理权限
完成创建后会得到下面两个参数
我们回到OHTTPS点击部署节点,选择添加节点,创建一条配置将这两个值复制到对应位置,点击创建后绑定我们之前设置的证书即可。
配置nginx
完成上述步骤,我们就可以配置nginx了,笔者配置如下
bash
server {
listen 443 ssl;
server_name 域名;
ssl_certificate fullchain.cer文件位置;
ssl_certificate_key cert.key文件位置;
location / {
xxxxxxx
}
}
重启nginx
bash
service nginx restart
阿里云服务器放行443端口(选作)
这步到云ecs出入安全规则中放行https端口号即可
测试
我们使用https访问域名查看是否生效,若能访问则部署成功