跳转至

ilmhub.top 网络部署方案

最后更新: 2026-06-01

架构总览

用户浏览器 ──HTTPS──→ Cloudflare Edge ──QUIC Tunnel──→ 阿里云服务器 (Nginx:80)
          ✅ Cloudflare SSL      ✅ Cloudflare Tunnel (cloudflared)      ✅ HTTP

整体方案

DNS

  • 域名注册商: NameSilo → 将 nameserver 改为 Cloudflare 的
  • Cloudflare Nameservers: dahlia.ns.cloudflare.com / mateo.ns.cloudflare.com
  • 所有 DNS 由 Cloudflare 托管

Cloudflare Tunnel(核心方案)

通过 Cloudflare Tunnel(原 Argo Tunnel)绕过阿里云 ICP 备案拦截:

组件 说明
cloudflared Cloudflare 隧道客户端,已安装 v2026.5.2
隧道名称 ilmhub
隧道 ID 2e73632a-f7c6-4371-82ae-ebf52b1eb2e6
配置文件 /home/admin/.cloudflared/config.yml
凭证文件 /home/admin/.cloudflared/2e73632a-f7c6-4371-82ae-ebf52b1eb2e6.json
服务方式 systemd 服务,开机自启
入口 ilmhub.tophttp://localhost:80
协议 QUIC (Cloudflare 边缘节点)

Nginx(源站服务器)

  • 运行在阿里云 ECS(Alibaba Cloud Linux 3)
  • 监听端口: 80(仅 HTTP,因为隧道走 HTTP 到本地)
  • SSL 已通过 certbot 配置(但隧道方案下 SSL 连接由 Cloudflare 处理)
  • 注意: 已移除 certbot 自动生成的 HTTP→HTTPS 301 重定向规则
  • 原因:隧道将流量以 HTTP 形式转发到本地,301 重定向会形成循环
  • 如果后续改回直连模式(完成 ICP 备案后),需恢复重定向

为什么选择 Cloudflare Tunnel

遇到的问题

  1. ICP 备案拦截 — 阿里云大陆节点强制拦截未备案域名,返回 "Non-compliance ICP Filing" 页面
  2. Cloudflare 525 SSL 握手失败 — Nginx 1.20.1 与 Cloudflare TLS 1.3 存在 "bad key share" 兼容性问题

方案对比

方案 可行性 时间
ICP 备案 ✅ 官方正解 1-2 周
Cloudflare Tunnel ✅ 立即解决 几分钟
换香港服务器 ✅ 长期稳定 需迁移
SSL Flexible 模式 ⚠️ 只解决 SSL 问题,无法绕过 ICP 不适用

目录结构

1
2
3
4
5
6
7
8
/home/admin/
├── .cloudflared/
│   ├── cert.pem                    # Cloudflare 授权证书
│   ├── config.yml                  # 隧道配置文件
│   └── 2e73632a-...json           # 隧道凭证(机密!)
├── truth-lab-dist/                 # truth-lab 构建产物
└── knowledge-base/deployment/
    └── ilmhub-top-cloudflare-tunnel.md  # 本文档

管理命令

隧道状态

sudo systemctl status cloudflared     # 查看状态
sudo journalctl -u cloudflared -f     # 实时日志

重启/停止

1
2
3
sudo systemctl restart cloudflared    # 重启隧道
sudo systemctl stop cloudflared       # 停止隧道
sudo systemctl start cloudflared      # 启动隧道

Nginx

sudo nginx -t                         # 测试配置
sudo systemctl reload nginx           # 重载配置(不中断)

日志排查

1
2
3
sudo tail -f /var/log/nginx/access.log   # Nginx 访问日志
sudo tail -f /var/log/nginx/error.log    # Nginx 错误日志
sudo journalctl -u cloudflared -n 50     # 隧道日志

后续待办

  • 升级 Nginx — 修复 bad key share SSL 兼容性问题(设为明天 10:00 提醒)
  • 完成 ICP 备案后,可以将 Cloudflare Tunnel 替换为直接 HTTPS 连接
  • 改回 SSL/TLS Full (Strict) 模式

访问验证

URL 状态 说明
https://ilmhub.top/ ✅ 正常 首页
https://ilmhub.top/truth-lab/ ✅ 正常 真理发现实验室 (WebXR VR)
https://ilmhub.top/game/ ✅ 正常 自然探索游戏
https://ilmhub.top/deployment/ ✅ 正常 部署文档