Appearance
部署HTTPS工具
本工具采用阿里云的免费证书(有效期三个月),可以实现自动续签并部署https
证书(等同于ssl证书)。内置了nginx
模块,证书部署成功后即可使用https
访问私有化会众云平台
注意
证书实际有效期 90
天,插件会提前 10
天来执行续签操作。
提示
域名代理-HTTP
与自动证书-HTTPS
使用的是同一个插件,场景不同故作拆分
特别说明
进行本工具部署前,请确保您已经具备了以下条件(缺一不可)
- 服务器的
443
端口可以访问 - 服务器安全组已允许
443
端口访问 443
端口未被其他服务占用- 域名归属于阿里云,不能是其他云平台
- 域名已经进行了公安部备案,并且已经获取到了备案编号
- 本工具必须和
私有化会众云平台
部署在同一台服务器
1.创建配置文件
参数说明
bash
# 参数说明
ALI_ACCESS_KEY_ID # 【必填】【阿里云访问控制】AccessKey ID
ALI_ACCESS_KEY_SECRET # 【必填】【阿里云访问控制】AccessKey ID 对应的 AccessKey Secret
CW_NOTICE_WEBHOOK # 【必填】 企业微信的群机器人地址(用于通知证书签发消息)
VERIFY_FILE_NAME # 【可选】 校验文件名(接入微信、企微、钉钉等开放平台时,需要进行域名校验)
VERIFY_FILE_TEXT # 【可选】 校验文件值(校验文件的内容值,一般是一串字符)
1.1.shell一键创建
使用以下Shell命令,按需替换
参数后,将其复制粘贴至命令行界面,敲击回车键即可
bash
mkdir -p /etc/hzy && cat > /etc/hzy/https.json <<- EOF
{
"ALI_ACCESS_KEY_ID": "LTAI5tPCxxxxxxxxREMdWCdy",
"ALI_ACCESS_KEY_SECRET": "bHpFWZaxxxxxxx8vJTysjjMshv5",
"CW_NOTICE_WEBHOOK": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxxxxx-da5ce67533fd",
"VERIFY_FILE_NAME": "test.txt",
"VERIFY_FILE_TEXT": "xxxxxxxx"
}
EOF
如果验证执行结果?
输入 cat /etc/hzy/https.json
后敲击回车键,如果有如下输出,则为成功
json
{
"ALI_ACCESS_KEY_ID": "LTAI5tPCxxxxxxxxREMdWCdy",
"ALI_ACCESS_KEY_SECRET": "bHpFWZaxxxxxxx8vJTysjjMshv5",
"CW_NOTICE_WEBHOOK": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxxxxx-da5ce67533fd",
"VERIFY_FILE_NAME": "test.txt",
"VERIFY_FILE_TEXT": "xxxxxxxx"
}
1.2.手动创建配置文件
创建文件https.json
bash
# 必须创建文件!必须创建文件!必须创建文件!
# 创建文件
mkdir /etc/hzy
cd /etc/hzy
vim https.json
文件内容示例
特别说明
如果您对字段的内容不清楚,后面的内容会对每一个配置字段进行详细解释
json
{
"ALI_ACCESS_KEY_ID": "LTAI5tPCxxxxxxxxREMdWCdy",
"ALI_ACCESS_KEY_SECRET": "bHpFWZaxxxxxxx8vJTysjjMshv5",
"CW_NOTICE_WEBHOOK": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxxxxx-da5ce67533fd",
"VERIFY_FILE_NAME": "test.txt",
"VERIFY_FILE_TEXT": "xxxxxxxx"
}
2.创建子域名
需在创建已备案域名的一个子域名,用于申请单域名的https证书
2.1.配置域名解析
登录阿里云,并打开域名控制台

点击解析
,并添加一条记录

2.2.添加域名
方式一:直接访问网站后台配置页面,并修改
系统配置/基础配置/系统根地址
方式二:登录服务器,并修改
server_config.json
文件
bash
cd /etc/hzy
vim server_config.json
修改示例(已省略不相关配置)
假设:原文件内容如下
json
{
"ROOT_DOMAIN": "http://192.168.31.153:2020"
}
假设:子域名为test.ysyoungth.com
,则修改后的内容如下
json
{
"ROOT_DOMAIN": "https://test.ysyoungth.com"
}
3.创建AccessKey
本工具采用阿里云API调用的方式进行证书申请,所以必须要创建AccessKey才可以进行API调用
3.1.领取阿里云免费证书额度
提示
阿里云每个自然年有且仅有20张免费证书额度,每张证书有效期3个月

3.2.创建用户
点击访问控制

添加一个用户
注意
这里需要勾选:OpenAPI 调用访问

添加用户权限
添加用户后,选择添加权限
,并分配管理云盾证书服务
的权限

创建访问凭据
点击用户,进入用户详情,并在详情中创建:AccessKey
,AccessSecret

配置访问凭据
将访问凭据配置到:https.json
当前配置项 | https配置项 |
---|---|
AccessKey | ALI_ACCESS_KEY_ID |
AccessSecret | ALI_ACCESS_KEY_SECRET |
4.创建企微机器人
签发证书的通知消息(部署成功消息、部署错误消息等)都会发送到指定的企微机器人
创建企微群聊

添加企微群聊机器人

配置机器人
将机器人地址配置到:https.json
当前配置项 | https配置项 |
---|---|
机器人地址 | CW_NOTICE_WEBHOOK |
5.设置校验文件
当接入企微、钉钉、飞书等开放平台时,开放平台一般都会要求进行域名归属权校验,校验的方式几乎都是:将指定的文件放到域名根目录下,然后可以通过域名获取到文件内容
如果存在这样的需求,可以将校验文件
配置到https.json
示例
假设:有一个校验文件名字是itg2fyLtiupAWwOt.txt
,校验文件内容是pAWwOtitg2fyLtiup
则配置如下:
https配置项 | 配置值示例 |
---|---|
VERIFY_FILE_NAME | "itg2fyLtiupAWwOt.txt" |
VERIFY_FILE_TEXT | "pAWwOtitg2fyLtiup" |
注意
如果有多个校验文件,单次只能配置一个,配置以后重启docker服务即可生效
6.运行HTTPS服务
启动服务
注意
必须使用 --network host 模式启动容器,否则nginx代理无法生效!
bash
docker run --privileged -e TZ=Asia/Shanghai -itd --restart always --network host -v /etc/hzy:/root/conf registry.cn-hangzhou.aliyuncs.com/hzy0code/hzy-utils:https.x86.1.2.0
重启服务
注意
修改了配置文件后,需要使用以下命令重启服务
[CONTAINER ID]
表示容器ID,使用docker ps
命令可以查看容器ID
示例:
bash
docker restart [CONTAINER ID]
访问服务
证书签发并且部署成功后,则可以使用域名的方式访问会众云平台
,例如:
- https访问方式: https://test.ysyoungth.com/apaas