Appearance
发布第一个 HTTPS 服务
本文将一个已有的 HTTP 网站通过 HiHTTPS 发布为 HTTPS 服务。完成后,您应能通过业务域名访问网站,并看到匹配该域名的有效证书。
开始前准备
- 已完成安装部署,能够登录,并具有访问服务和证书的管理权限。
- 已有正常运行的后端网站,HiHTTPS 服务器能够访问它。
- 已准备业务域名、覆盖该域名的有效 TLS 证书及对应私钥。尚无证书时,先按证书管理完成申请和域名验证。
- 客户端能够访问 HiHTTPS 的
443/tcp,入口端口未被其他程序占用。仅向需要使用服务的网络放行。
本文示例使用以下参数,请全部替换为实际值:
| 参数 | 示例值 | 含义 |
|---|---|---|
| 业务域名 | app.example.com | 用户访问网站时使用的域名 |
| HiHTTPS 地址 | 192.168.8.10 | 客户端可达的 HiHTTPS 服务器地址 |
| 后端地址 | http://192.168.8.223:8080 | HiHTTPS 转发请求的目标网站 |
| 对外访问地址 | https://app.example.com | 配置完成后的业务地址 |
如果业务面向公网,请使用客户端能够访问的公网地址或入口地址,并配置相应 NAT、云安全组及防火墙规则。示例中的内网 IP 不能直接作为公网访问地址。
1. 导入证书
在 证书管理 中导入已有证书,提供 PEM 格式的证书、所需证书链及匹配的私钥。详细字段与商密证书要求见导入已有证书。
导入后检查:
- 证书域名覆盖
app.example.com,且当前处于有效期内。 - 证书与私钥匹配,所需材料已完整导入。
- 证书能够在后续访问服务的证书选择器中找到。
如果已经通过 HiHTTPS 申请并取得符合要求的证书,无需重复导入。
2. 添加访问服务
进入 访问服务 -> 添加访问服务,按下表填写:
| 配置位置 | 配置项 | 示例值 |
|---|---|---|
| 详细内容 | 域名 | app.example.com |
| 详细内容 | 入口协议 | HTTPS |
| 详细内容 | 入口端口 | 443 |
| 路由规则 | 路径 | / |
| 路由规则 | 动作类型 | 转发 |
| 路由规则 | 转发目标 | http://192.168.8.223:8080 |
| 证书配置 | TLS 证书 | 上一步准备的、覆盖 app.example.com 的证书 |
保存配置,确认页面没有报错,并确认服务处于启用状态。如果页面提示域名或端口冲突,先检查已有服务和服务器上其他程序的监听端口,不要反复提交相同配置。
HTTPS 入口与后端连接是两段连接
本例仅将客户端到 HiHTTPS 的连接加密,后端仍通过 HTTP 访问,应部署在受信网络中。需要端到端加密时,后端也必须提供可用的 HTTPS 地址。
选择 HTTPS 不会自动新增 HTTP 入口,也不会自动将 HTTP 请求跳转到 HTTPS。本例先完成 HTTPS 发布;需要兼容原有 HTTP 地址时,请先查看HTTP 跳转的当前限制。
3. 从客户端验证
在能够访问 HiHTTPS 的客户端执行:
bash
curl -i --resolve app.example.com:443:192.168.8.10 https://app.example.com/--resolve 只为这次请求指定 HiHTTPS 地址,仍使用 app.example.com 进行 HTTP 请求和 TLS 证书校验,因此可以在 DNS 切换前验证。它不会修改正式 DNS 解析。
检查应符合以下结果:
- TLS 证书校验通过,没有域名不匹配、过期或不受信任的错误。
- 返回后端网站的页面或预期业务响应,而不是 HiHTTPS 管理页面。
- 服务需要登录时,返回业务自身的登录页面或预期跳转也可能是正常结果;不能只凭 HTTP
200判断业务可用。
私有 CA 签发的证书需要先在客户端安装并信任该 CA,或为验证命令增加 --cacert /path/to/ca.pem。不要跳过证书校验来判断 HTTPS 配置成功。
4. 配置正式域名解析
将业务域名解析到客户端可达的 HiHTTPS 地址。使用上面的内网示例时,仅在能够路由到 192.168.8.10 的网络中使用该解析。
等待解析生效后,在浏览器打开 https://app.example.com,确认网站可用,再查看浏览器展示的证书域名、签发者和有效期。若同时配置了 A 和 AAAA 记录,两条访问路径都应指向能够正确提供该服务的入口。
完成检查
- 访问服务处于启用状态,保存时没有配置测试或加载错误。
- 通过正式域名能访问预期后端,而不是管理界面或默认页面。
- 浏览器信任证书,证书覆盖业务域名且未过期。
- 如配置了访问控制,允许的客户端能访问,不允许的客户端被拒绝。
遇到证书错误、502 或访问超时,先看常见问题。
下一步
- 为网站增加访问控制。
- 配置按路径分流或自定义入口端口。
- 了解证书更新与自动续期,不要等证书过期后再处理。
- 导出一份系统加密备份,并妥善保存备份口令。
