最近写了个 React 的小玩具,正好看到 azure 的 static web app 支持 preview environment + GitHub Actions + SSO + API Function 等功能,就用上了。 SWA 预览环境和 GitHub Actions 集成的相当好,提每个 MR 会自动生成预览环境,也可以用固定的几个分支。 用起来还是挺舒服的,不过这是纯静态的情况,在尝试联动上 API Function 时开始上头了……
首先这个 azure-function-core-tools 安装就是个问题,国内没配置 CDN ,拉取时还不认代理。 费劲千辛万苦总算一点点拖回来了,一启动还蓝屏…… 没错,是蓝屏,Win 11 + WSL + Azure ,明明都是微软的,一起用居然会蓝屏。 最后没有办法,重新实现了一套不依赖 Azure Function 框架的 API Server 用于调试,还好内容不复杂。
调试完了发 PE ,用了两下觉得没啥问题,就发到 prod 上了。 没过一会朋友发来反馈说登陆页面打不开,F12 跟踪了一下跳转路径后发现跳转顺序是:
然后多地移动朋友拉不下来页面 2 ,但联通电信可以,且 DNS 解析出的是同一个 HK 的 IP 。 真不清楚是不是移动给搞了什么幺蛾子 23333
生活不易,狗狗叹气.png
1
baobao1270 2022-06-12 21:16:58 +08:00
感觉 Azure 的东西都挺难用的……太复杂了
还是 Cloudflare 的那一套简单 |
2
sjx95 OP @baobao1270 Cloudflare 我还真没了解过,之前只看了 Azure 和 GCP ,有免费额度。
Cloudflare 只知道有个 CDN ,它也可以托管静态站点和轻量 API 吗? |
3
baobao1270 2022-06-13 17:19:07 +08:00
@sjx95 现在可以了。静态网站有 pages ,函数计算有 worker ,同时提供对象存储、KV 数据库等功能。
|
4
sjx95 OP @baobao1270 看了一下,还真可以。
除了 "login with github" 的功能需要自己写以外,各种功能挺丰富的。 不过昨天研究了一下 OAUTH2 的协议,和朋友试了一下发现好像可以这么操作: 1. 朋友点击 login ,卡在 identify 这个域名上面,把 URL 发给我; 2. 我打开 URL 后 302 挑战至 GitHub 登录页面,把 URL 发给朋友; 3. 朋友在 GitHub 登录,然后拿到 OAUTH2 Callback URL (包含 Code ),发给我 4. 我请求 Callback URL 提交 Code (但我本地没有 identify 这个页面的 session ) 5. 朋友刷新页面,成功登录 不知道原理上有没有问题。。还是恰好巧了才成功的 |
5
baobao1270 2022-06-15 20:33:01 +08:00
@sjx95 emmm Cloudflare 有一个 ZertTrust 服务 简单的后台管理甚至不需要自己做用户系统
|
6
sjx95 OP @baobao1270 之前有看到,感觉比较复杂了,就没仔细往下看。
等周末好好看看这部分文档。 |