库存同步昨天还能运行,今天密钥没有更换,却开始返回403。看到这种情况,不必先重置账号或重发密钥:如果应用启用了来源地址限制,请求带着正确凭据,也可能因为出口不在允许范围内而被拒绝。
Shopify在10月27日新增了Admin API的IP白名单控制。开发者可以在Dev Dashboard中填写服务器IP或网段,先对照近期流量测试,再启用限制。启用后,来自名单之外、使用该应用令牌的GraphQL和REST Admin API请求会失败。这是对调用来源增加约束,不是替代原有认证。
网站地址不是后台任务的出口地址
一家外贸品牌可能把官网、库存同步和定时报表分别放在不同环境。买家打开网站时访问的地址,是网站接收访问的入口;同步程序向平台发出请求时使用的地址,才是这条调用链需要核对的出口。两者可能相同,也可能完全不同。
即便几项任务共用同一套代码,正式服务器、测试环境和备用执行节点也不一定从同一个地址出网。只登记主服务器,平时测试可以通过,切换备用节点后仍可能中断。还有一些人工维护动作来自办公电脑,它们不能因为“也是公司在用”就被视为已经覆盖。
因此,列清单时应按工作来找地址:哪项任务读取商品,哪项更新库存,哪项处理售后信息,由谁维护、从哪个环境发起。不要只收集一串IP而不写用途,否则之后很难判断某个旧地址能否移除,也无法知道漏掉它会影响什么。
平台建议使用静态IP,并表示动态无服务器环境的支持仍将推出。对出口会变化的现有任务,不能假设填入今天观察到的地址就已经长期解决。应先确认部署环境提供怎样的稳定出口,再判断是否具备启用条件;这里不是要求为了这项功能立即迁移系统。
先证明正常任务能通过,再启用限制
测试不能只用开发者电脑发一次请求。至少要覆盖实际使用的任务及其备用路径,比较请求的来源地址与拟定规则。测试环境的成功,也不能自动代表正式环境。可以先检查读取操作和已有日志,避免为了验证规则触发不必要的业务写入。
若启用后出现403,应把发生时间、调用环境和对应任务记下来,再区分凭据权限、来源限制或其他原因。HTTP状态本身不是根因说明。没有识别原因就轮换密钥,可能同时打断原本正常的任务,还留下新的配置差异。
恢复调用之后也有另一件事要做:核对中断期间积压的工作。连接恢复不代表库存、商品或消息已经补齐;关于这部分,可结合同步暂停后的积压处理分别检查待执行动作,避免用一次连接成功代替业务恢复。
对白名单的验收可以很具体:预期任务从已知出口发起时正常工作,非预期来源受到限制,备用路径的安排明确,变更记录能说明每个地址对应的工作。它不需要以频繁更换凭据来证明安全,也不应以中断正常业务来证明规则生效。
参考来源
- Shopify开发者更新:Restrict Admin API access with an IP allowlist,2026年10月27日。

