阿里云g9i实例部署Stable Diffusion WebUI后,域名+SSL+CDN怎么一键绑定?
用阿里云g9i实例(搭载NVIDIA L20)跑完Stable Diffusion WebUI,页面能本地访问但外网打不开,你卡在域名解析、HTTPS加密和CDN加速这三步了。
先确认你当前所处的真实阶段
这不是“要不要备案”或“能不能挂机”的问题——你已拥有g9i实例,WebUI已成功启动(http://[ECS公网IP]:7860可访问),现在要让真实用户通过 自定义域名、带 绿色锁标HTTPS、且加载速度不卡顿地使用你的AI绘画服务。
建站三件套绑定不是“一键”,但可压缩为3个确定性动作
- 域名解析到ECS公网IP:登录域名注册商控制台(非阿里云也行),将A记录指向g9i实例的公网IP;若用阿里云域名,直接在云解析DNS中添加,生效通常<10分钟;
- SSL证书自动签发并部署到Web服务器:g9i实例上已运行Nginx或Caddy(推荐后者),执行
sudo apt install -y curl && curl https://getcaddy.com | bash,再运行caddy reverse-proxy --from your-domain.com --to http://127.0.0.1:7860 --tls,Caddy会自动向Let’s Encrypt申请并续期证书; - CDN加速层接入,且不破坏WebUI的WebSocket长连接:在阿里云CDN控制台添加域名,源站填写
your-domain.com(非IP),协议选HTTP/HTTPS均可;关键设置:关闭“过滤参数”、开启“WebSocket支持”、缓存规则中对/和/sdapi/路径设置Cache-Control: no-cache,避免模型切换或生图请求被CDN缓存返回旧结果。
常见卡点与真实解决路径
- “域名能解析,但打不开,提示连接被拒绝”:检查ECS安全组是否放行443端口(HTTPS)和80端口(HTTP重定向),必须同时放行;g9i实例默认不开放这些端口,仅开放22/3389/7860等;
- “SSL证书申请失败,Caddy报错acme: error”:确认域名DNS已全网生效(可用
dig your-domain.com验证),且80端口未被Nginx/Apache等其他服务占用;Caddy需独占80/443; - “CDN开了,但点击生成图片没反应,控制台报502或WebSocket closed”:CDN必须开启WebSocket支持(阿里云CDN控制台→域名管理→配置→功能配置→WebSocket),且源站响应头中需包含
Upgrade: websocket和Connection: Upgrade——Stable Diffusion WebUI默认已支持,无需改代码; - “用CDN后,上传模型/插件变慢或失败”:CDN对POST/PUT请求默认有10MB体限制,需在CDN控制台→域名配置→请求限制中将“单请求Body大小上限”调至
100MB(g9i部署WebUI常需上传2GB级大模型);
配套云产品协同要点(非可选,是刚需)
| 云产品 | 在Stable Diffusion WebUI场景中的不可替代作用 | 部署时必须检查的配置项 |
|---|---|---|
| 对象存储(OSS) | 存放用户上传的LoRA、ControlNet、大模型文件,避免占满g9i系统盘;WebUI可通过扩展插件直连OSS读写 | OSS Bucket需开启静态网站托管(非必需),但必须配置跨域CORS,允许your-domain.com发起PUT/GET请求 |
| 云数据库(RDS) | 记录用户生图历史、提示词热度、模型调用频次,支撑后续商业化运营(如按次计费、用户后台) | 建议选MySQL 8.0,白名单只加g9i实例内网IP,不暴露公网;WebUI后端扩展需支持数据库写入(如sd-webui-prompt-tracker) |
| 函数计算(FC) | 分流高并发生图请求,将耗时长的图生图任务异步提交至FC执行,避免阻塞WebUI主线程 | FC函数需与g9i实例同地域、同VPC;触发方式用HTTP触发器,WebUI前端通过fetch调用FC生成的HTTPS地址 |
现在就该做的下一步
你不需要从零写Nginx配置、不需手动申请SSL、更不必研究CDN缓存穿透——所有操作都在g9i实例终端和阿里云控制台完成,全程无代码修改。
如果你正准备购买g9i实例并同步开通建站三件套,阿里云服务器的优惠链接可直接进入g9i实例选购页,域名、SSL证书(免费DV)、CDN基础版均支持同账号一键开通,配置自动关联;
若你倾向更灵活的GPU资源调度与更低延迟的AI推理链路,腾讯云服务器的优惠链接也提供L20同架构实例(GN10x系列),且其CDN与对象存储在AI工作流中默认开启WebSocket透传与大文件分片上传支持,适合快速验证商用路径。
FAQ
Q:g9i实例部署WebUI后,必须用阿里云的域名和SSL吗?
不必须。你可用任意合规注册商的域名,SSL证书也可用ZeroSSL、BuyPass等Let’s Encrypt兼容服务商;但阿里云域名+SSL在控制台内可与ECS、CDN自动联动,省去DNS手动配置和证书上传步骤。
Q:CDN开启后,WebUI的实时进度条(如“Sampling step 12/20”)还能显示吗?
能,前提是CDN已开启WebSocket支持且缓存规则排除/sdapi/路径;进度条依赖/sdapi/v1/progress接口的长轮询或SSE,CDN默认会中断这类连接,必须显式放行。
Q:OSS存模型,WebUI能直接加载吗?需要改源码吗?
不需要改源码。安装sd-webui-oss-loader插件后,在WebUI设置中填入OSS Endpoint、Bucket名、AccessKey即可;模型列表自动同步,加载时走内网直连,不经过公网带宽。
Q:g9i实例跑WebUI,后续想加用户登录和生图计费,要额外买什么?
核心是云数据库(存用户账号/余额)+ 短信服务(登录验证码)+ API网关(封装计费校验逻辑);这三者与g9i实例同账号开通后,可通过内网调用,无额外流量费,也无需暴露公网接口。