Appearance
部署域名代理工具
本工具内置了nginx
模块,部署此工具后即可通过域名访问服务
注意:本工具部署后仅支持
https
的方式访问
提示
域名代理-HTTPS
与自动证书-HTTPS
使用的是同一个插件,场景不同故作拆分
特别说明
进行本工具部署前,请确保您已经具备了以下条件(缺一不可)
- 服务器的
443
端口可以访问 - 服务器安全组已允许
443
端口访问 443
端口未被其他服务占用- 域名已经进行了公安部备案,并且已经获取到了备案编号
- 本工具必须和
私有化会众云平台
部署在同一台服务器
1.创建配置文件
参数说明
特别说明
IS_HTTPS_AGENT 必须设置,并且固定为 true
IS_HTTPS_AGENT 必须设置,并且固定为 true
IS_HTTPS_AGENT 必须设置,并且固定为 true
bash
# 参数说明
IS_HTTPS_AGENT # 【必填】 固定为 true(表示使用https代理,而不是https证书自动签发)
VERIFY_FILE_NAME # 【可选】 校验文件名(接入微信、企微、钉钉等开放平台时,需要进行域名校验)
VERIFY_FILE_TEXT # 【可选】 校验文件值(校验文件的内容值,一般是一串字符)
1.1.shell一键创建
使用以下Shell命令,按需替换
参数后,将其复制粘贴至命令行界面,敲击回车键即可
bash
mkdir -p /etc/hzy && cat > /etc/hzy/https.json <<- EOF
{
"IS_HTTPS_AGENT": true,
"VERIFY_FILE_NAME": "test.txt",
"VERIFY_FILE_TEXT": "xxxxxxxx"
}
EOF
如果验证执行结果?
输入 cat /etc/hzy/https.json
后敲击回车键,如果有如下输出,则为成功
json
{
"IS_HTTPS_AGENT": true,
"VERIFY_FILE_NAME": "test.txt",
"VERIFY_FILE_TEXT": "xxxxxxxx"
}
1.1.手动操作创建
创建文件https.json
bash
# 必须创建文件!必须创建文件!必须创建文件!
# 创建文件
mkdir /etc/hzy
cd /etc/hzy
vim https.json
文件内容示例
json
{
"IS_HTTPS_AGENT": true,
"VERIFY_FILE_NAME": "test.txt",
"VERIFY_FILE_TEXT": "xxxxxxxx"
}
2.设置校验文件
当接入企微、钉钉、飞书等开放平台时,开放平台一般都会要求进行域名归属权校验,校验的方式几乎都是:将指定的文件放到域名根目录下,然后可以通过域名获取到文件内容
如果存在这样的需求,可以将校验文件
配置到https.json
示例
假设:有一个校验文件名字是itg2fyLtiupAWwOt.txt
,校验文件内容是pAWwOtitg2fyLtiup
则配置如下:
https配置项 | 配置值示例 |
---|---|
VERIFY_FILE_NAME | "itg2fyLtiupAWwOt.txt" |
VERIFY_FILE_TEXT | "pAWwOtitg2fyLtiup" |
注意
如果有多个校验文件,单次只能配置一个,配置以后重启docker服务即可生效
3.上传证书
将已申请的https证书
上传到主机目录/etc/hzy/
下面
特别说明
需要将证书文件进行重命名,假设获取到证书文件如下:
- test.domain.com.key
- test.domain.com.pem
那么需要将以上文件重命名为:
- key
- pem
然后将文件key
和pem
上传到主机目录/etc/hzy/
下面即可
注意
部分云服务商下载的证书可能不是 pem
文件,有时候是 crt
,例如华为云申请的SSL证书。
简要说明: 通常情况下可以将 crt
直接作为 pem
使用,若使用异常,在考虑证书格式的转换。
4.运行HTTP服务
启动服务
注意
必须使用 --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