吐槽一下使用 Azure Static Web App 的上头经历

2022-06-12 01:34:59 +08:00
 sjx95

最近写了个 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 跟踪了一下跳转路径后发现跳转顺序是:

  1. 你的 App 域名 + /.auth/login/github
  2. identity.1.azurestaticapps.net
  3. identity.1.azurestaticapps.net
  4. github.com

然后多地移动朋友拉不下来页面 2 ,但联通电信可以,且 DNS 解析出的是同一个 HK 的 IP 。 真不清楚是不是移动给搞了什么幺蛾子 23333

生活不易,狗狗叹气.png

1660 次点击
所在节点    云计算
6 条回复
baobao1270
2022-06-12 21:16:58 +08:00
感觉 Azure 的东西都挺难用的……太复杂了
还是 Cloudflare 的那一套简单
sjx95
2022-06-13 15:07:49 +08:00
@baobao1270 Cloudflare 我还真没了解过,之前只看了 Azure 和 GCP ,有免费额度。
Cloudflare 只知道有个 CDN ,它也可以托管静态站点和轻量 API 吗?
baobao1270
2022-06-13 17:19:07 +08:00
@sjx95 现在可以了。静态网站有 pages ,函数计算有 worker ,同时提供对象存储、KV 数据库等功能。
sjx95
2022-06-14 16:11:59 +08:00
@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. 朋友刷新页面,成功登录

不知道原理上有没有问题。。还是恰好巧了才成功的
baobao1270
2022-06-15 20:33:01 +08:00
@sjx95 emmm Cloudflare 有一个 ZertTrust 服务 简单的后台管理甚至不需要自己做用户系统
sjx95
2022-06-16 15:37:51 +08:00
@baobao1270 之前有看到,感觉比较复杂了,就没仔细往下看。
等周末好好看看这部分文档。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/859004

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX