Skip to content

部署域名代理工具

本工具内置了nginx模块,部署此工具后即可通过域名访问服务

注意:本工具部署后仅支持https的方式访问

提示

域名代理-HTTPS自动证书-HTTPS使用的是同一个插件,场景不同故作拆分

特别说明

进行本工具部署前,请确保您已经具备了以下条件(缺一不可)

  1. 服务器的443端口可以访问
  2. 服务器安全组已允许443端口访问
  3. 443端口未被其他服务占用
  4. 域名已经进行了公安部备案,并且已经获取到了备案编号
  5. 本工具必须和私有化会众云平台部署在同一台服务器

插件将自动读取server_config.json文件中的根域名地址,作为域名

华为云免费证书申请

免费证书安全性相对较低,建议当作初期测试和验证使用
⇲华为云证书申请流程

1.创建配置文件:https.json

配置参数说明

bash
IS_HTTPS_AGENT            # 【必填】 固定为 true(表示使用https代理,而不是https证书自动签发)
VERIFY_FILE_NAME          # 【可选】 校验文件名(接入微信、企微、钉钉等开放平台时,需要进行域名校验)
VERIFY_FILE_TEXT          # 【可选】 校验文件值(校验文件的内容值,一般是一串字符)

文件内容示例

json
{
  "IS_HTTPS_AGENT": true,
  "VERIFY_FILE_NAME": "test.txt",
  "VERIFY_FILE_TEXT": "xxxxxxxx"
}

1.1.一键创建

下方参数后,将其复制粘贴至命令行,敲击回车键即可

bash
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,后敲击回车键即可查看文件内容

1.2.手动创建

bash
cd /etc/hzy && vim -n https.json

注意

将使用vim编辑文件内容,点击查看vim的使用说明

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

然后将文件keypem上传到主机目录/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 --name hzy-https registry.cn-hangzhou.aliyuncs.com/hzy0code/hzy-utils:https.x86.1.3.0

重启服务

注意

修改了配置文件后,需要使用以下命令重启服务

bash
docker restart hzy-https

访问服务

证书签发并且部署成功后,则可以使用域名的方式访问会众云平台,例如: