1. 为什么需要部署多个证书?
在现代微服务架构中,使用 Kong Gateway 或 Nginx、Traefik 作为 API 网关或反向代理 是非常常见的做法。然而,当 多个域名(如 api.example.com
、blog.example.com
)共用 同一台服务器,并且都需要 HTTPS 访问时,就需要部署 多个 SSL 证书。
1.1 场景分析
假设你的服务器需要代理多个 HTTPS 站点:
zhshl.test.com
—— 代理 API 服务器zhshl.test.cn
—— 代理博客服务器
这些子域都需要 独立的 SSL 证书,但流量都通过 同一个 Kong Gateway 处理。
1.2 解决方案:使用 SNI(Server Name Indication)
SNI 是 TLS 扩展协议,可让服务器基于 请求的域名 动态选择正确的 SSL 证书,从而支持多个 HTTPS 站点共享 同一 IP 和端口。
简单来说,SNI 让 Kong Gateway 通过域名匹配合适的证书并转发请求!
2. 生成 SSL 证书
2.1 生成 zhshl.test.com
的证书
mkdir -p /data/ssl/zhshl.test.com