外观
域名接入转发方案
解决方案
晨涧云的IP不支持给客户开放80或者443公网端口,如果需要使用,一般是在大厂公有云购买IP服务器,需要备案,然后通过nginx转发到晨涧云公网服务端口
为业务开通域名服务,使用户通过公网域名访问公有云入口,再由公有云将请求安全地转发到晨涧云中的业务服务。
推荐链路:
用户浏览器
│ HTTPS
▼
业务域名(DNS)
│
▼
公有云负载均衡 / API 网关 / Nginx
│ HTTPS 或专线/VPN 内网
▼
晨涧云业务服务本文为云厂商无关的通用方案。配置时请将文中的示例值替换为实际参数。
配置前需要准备的信息
| 项目 | 示例 | 说明 |
|---|---|---|
| 业务域名 | app.example.com | 用户最终访问的域名 |
| 域名所属账号 | 企业云账号 | 应完成实名认证 |
| 公有云入口地址 | 203.0.113.10或负载均衡 CNAME | DNS 指向此地址 |
| 晨涧云源站地址 | 10.10.20.15:8443或 origin.example.net:4430 | 晨涧云实际业务服务IP端口地址参考服务端口配置 |
| 后端协议 | HTTPS | 推荐全链路 HTTPS |
| 健康检查地址 | /health | 应返回 HTTP 200 |
| 源站要求的 Host | service.internal.example | 后端按域名区分服务时必须填写 |
| 网络连接方式 | VPN、专线或公网 | 推荐 VPN/专线,其次是公网白名单 |
| 证书 | app.example.com证书 | 部署在公有云入口;源站也建议配置证书 |
推荐实施方案1
优先使用公有云的应用型负载均衡(ALB)或七层负载均衡。它能够统一管理证书、健康检查、访问日志和高可用实例,比单台 Nginx 更适合生产环境。
域名注册、备案与 DNS
- 在域名服务商或公有云域名平台购买或接入域名。
- 完成域名实名认证。
- 如果公有云入口位于中国大陆,按要求完成 ICP 备案;网站正式提供服务时,还可能需要公安备案。
- 在 DNS 控制台添加解析记录:
| 记录类型 | 主机记录 | 记录值 | TTL |
|---|---|---|---|
| CNAME(推荐) | app | 公有云负载均衡提供的 CNAME | 300 秒 |
| A(入口只有固定 IP 时) | app | 公有云入口公网 IP | 300 秒 |
不要同时为同一主机名配置互相冲突的 A 和 CNAME 记录。
建立公有云到晨涧云的网络连接
- 晨涧云为源站提供固定公网 IP端口。
- 晨涧云防火墙推荐配置仅放行公有云负载均衡的出口 IP 或 Nginx 弹性公网 IP。
- 源站启用 HTTPS,并使用有效证书;条件允许时启用双向 TLS(mTLS)。
部分公有云负载均衡不能直接把“另一云的公网 IP”注册为后端。遇到这种情况,可以选用支持 IP 类型后端的 ALB、云企业网/专线,或在公有云部署高可用 Nginx 转发节点。
推荐实施方案2
使用 Nginx 转发
当公有云负载均衡不支持晨涧云源站类型时,可在公有云部署 Nginx。生产环境建议至少部署两台实例,并在其前面配置负载均衡。
upstream chen_jian_cloud_backend {
server <晨涧云源站地址>:<端口> max_fails=3 fail_timeout=10s;
keepalive 32;
}
server {
listen 80;
server_name app.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name app.example.com;
ssl_certificate /etc/nginx/certs/app.example.com.crt;
ssl_certificate_key /etc/nginx/certs/app.example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
location / {
proxy_pass https://chen_jian_cloud_backend;
proxy_http_version 1.1;
# 如果晨涧云按内部域名路由,将下一行改为指定域名。
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_connect_timeout 10s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
# 后端使用域名和 HTTPS 时启用 SNI。
proxy_ssl_server_name on;
proxy_ssl_name <晨涧云源站证书域名>;
proxy_ssl_verify on;
proxy_ssl_trusted_certificate /etc/ssl/certs/ca-certificates.crt;
}
}如果后端暂时使用自签名证书,应将其 CA 证书加入受信任证书链,不建议通过关闭 proxy_ssl_verify 长期运行。
安全组与防火墙建议
公有云入口
| 方向 | 协议/端口 | 来源或目标 | 用途 |
|---|---|---|---|
| 入站 | TCP 443 | 0.0.0.0/0、::/0 | 对外 HTTPS 服务 |
| 入站 | TCP 80 | 0.0.0.0/0、::/0 | 仅用于跳转 HTTPS,可选 |
| 出站 | 后端业务端口 | 晨涧云源站 IP/网段 | 请求源站 |
晨涧云源站
| 方向 | 协议/端口 | 来源 | 用途 |
|---|---|---|---|
| 入站 | 实际业务端口 | 公有云转发节点 IP/网段 | 接收业务请求 |
| 入站 | 健康检查端口 | 公有云健康检查地址段 | 健康检查 |
同时建议:
- 管理端口只允许堡垒机或运维 VPN 访问。
- 在公有云入口启用 WAF、DDoS 防护、限流和访问日志。
- 证书和私钥存入云证书管理服务或密钥管理系统,不要写入代码仓库。
- 根据业务需要限制请求体大小、上传类型和接口访问频率。
