华为云「开放能力闯关」2048 通关实录:从 403 卡死到两关通过

举报
yd_264066207 发表于 2026/10/23 20:54:59 2026/10/23
【摘要】 记录华为云开放能力闯关 2048 的两个真坑:提交接口误用测试域名导致 403 DOMAIN_NOT_WHITELISTED,以及隐式隧道未开匿名访问导致后台判定作品链接无效。附显式建隧道的正确命令与两关提交字段差异。云计算 开发者空间

背景

华为云「开放能力线上闯关挑战」要求做一个 2048 网页并部署,沙箱关 1000 分、ECS 关 2000 分。我按官方流程走,卡了两个地方,每个都花了半小时以上,记下来给后面的人省点时间。

坑一:提交接口打到了测试环境

活动页前端调用的提交接口是 opentest-dataset.huaweicloud.com,这个域名下提交会稳定返回:

HTTP 403
{"code":"DOMAIN_NOT_WHITELISTED","message":"当前账号无提交权限"}

容易误判成"账号没资格"。判断方法:先 GET /api/v1/hdopenservice/user/userinfo,如果能返回 domain_id,说明登录态没问题;此时再报这个错,基本就是环境问题而不是账号问题。换成生产域名 open-dataset.huaweicloud.com 后,同一个会话提交立刻变 200。

坑二:隐式隧道没有开匿名访问

devbridge host -p 8080 会自动建一条隧道,但那种隐式创建的端口默认不允许匿名访问。表现出来是:curl 能拿到 200,浏览器打开却被网关插一个「安全警告」中转页,后台校验作品链接时抓到的是中转页,于是判「作品链接无效」。

正确姿势是显式三步,第二步的 -a 不能省:

devbridge create 2048hw -d "华为云闯关2048" -e 720
devbridge port create <tunnel-id> -p 18080 --protocol http -a
devbridge host <tunnel-id> -p 18080

验证时不要只看状态码,要确认响应里没有 bridge_phishing_protection 这类中转页脚本,标题确实是自己的页面标题。

两个关卡的提交字段不一样

沙箱关填 work_link,ECS 关填 api_link,而且 ECS 关的路径必须带 /hc-activity/,比如 https://<id>-<port>.devbridge-s2.hwtunnel.com/hc-activity/index.html。所以部署时把页面在两个路径各放一份最省事。

进度面板不要当真

活动页的「闯关进度」在提交成功后仍会显示 0/3,这是面板的显示问题。以成长中心的「完成沙箱部署 / 完成ECS部署」任务卡片为准,结算是异步的,几分钟到十几分钟不等,别重复提交。

结果

两关都返回「作品提交成功」,成长中心两个任务卡片变为「已完成」,3000 积分到账。全程没有开公网端口、没有改安全组、也没有创建 ECS,隧道方案足够通过校验。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。