在公网暴露的 API 接口上配置 IP 白名单后,未匹配白名单的请求将直接返回 403 状态码,微信小店平台限制最多可输入 200 个 IP 地址且仅支持/8、/16、/24 网段。
原因分析
API 接口暴露在公网时面临恶意 IP 盗刷、DDoS 攻击等安全威胁,IP 白名单机制通过预先确定可信实体(如 IP 地址、用户标识)组成列表,当请求到达 API 时管控系统首先检查请求来源是否在白名单中,若在白名单内则直接放行,若不在则被拒绝访问。阿里云云原生 API 网关支持在网关全局、域名和路由级别配置 IP 黑名单和白名单,满足精细化访问控制诉求,生效层级可选择应用层 (HTTP/HTTPS) 或传输层 (TCP/UDP),其中应用层为默认选项,网关会允许客户端建立连接后根据请求中的 IP 信息判断是否放行。
阿里云 API 网关配置方案
登录云原生 API 网关控制台,在左侧导航栏选择实例并在顶部菜单栏选择地域,单击目标网关实例名称后进入安全管理>黑/白名单页面,点击创建并配置参数:类型选择白名单 (允许特定 IP 访问),生效粒度可选择网关全局、域名或路由三个层级,生效层级支持应用层 (HTTP/HTTPS) 和传输层 (TCP/UDP) 两种模式,传输层模式下网关将在 TCP 连接建立阶段就对客户端 IP 进行检查,直接拒绝非法 IP 的连接请求。配置完成后单击保存,该方案适用于阿里云云原生 API 网关和 AI 网关场景,文档更新日期为 2026 年 4 月 27 日。
阿里云微服务引擎配置方案
打开注册配置中心的实例列表页面,在顶部菜单栏选择目标实例所在地域,单击目标实例 ID 后在基础信息页面点击公网白名单设置右侧的编辑按钮,输入允许访问的 IP 地址格式为 X.X.X.X/X,斜杠后为掩码且必须>=16(如 192.168.0.0/16、192.168.100.0/24),多个 IP 地址段之间用英文半角逗号分隔,公网白名单最多可配置 1000 条。若设置内网白名单,仅支持 Nacos 企业版实例且实例引擎版本必须>=3.0.1.1,该限制截至 2025 年 8 月 14 日的官方文档仍有说明。
腾讯云子账号权限策略方案
在访问管理的策略里新建自定义策略,进入策略界面(https://console.cloud.tencent.com/cam/policy)创建仅允许特定 IP 访问的策略,例如仅允许 119.45.241.13 IP 访问 COS 所有资源,保存策略名称后给子账号关联策略,在用户列表中进入目标用户添加权限(https://console.cloud.tencent.com/cam)。需注意如果子账号已有其他预设策略且没有 IP 限制,这些权限所有 IP 都能调用,必须按自定义策略生成限制 IP 访问的策略后删除原策略。测试验证时,在授权的 119.49.241.13 机器上通过 COSbrowser 测试可正常访问,在其他机器上秘钥鉴权会通过但会提示没有权限,该方案发布于 2026 年 1 月 31 日。
SpringBoot 项目代码实现方案
在 SpringBoot 项目中可通过自定义拦截器实现 IP 白名单限制,利用 SpringBoot 的自动配置和开箱即用特性,创建拦截器类检查请求来源 IP 是否在预配置的白名单列表中,若在则放行否则返回 403 状态码。该方案适合微服务架构场景,因 SpringBoot 轻量级和独立性使得微服务的部署和运维更加简单,相关信息时间戳为 2025 年 12 月 23 日。
注意事项
微信小店平台明确说明当将所有 IP 地址都删除后,IP 白名单自动失效,且不支持 IP:端口形式。阿里云微服务引擎警告若公网白名单为空,任何地址都可访问该实例,有很高的数据泄露风险,若配置的是 Nacos 实例白名单且未开启 Nacos 引擎鉴权,可能导致关键数据泄露。腾讯云方案不适用内网 VPC 环境和官网控制台调用场景,因走的是内网可能会经过网关或网络代理等设备,识别到的 IP 非实际用户的 IP。阿里云 API 网关专享实例中暂时不支持对内网客户端 IP 进行访问控制,该限制收录于 2023 年 6 月 26 日。函数计算配置固定公网 IP 地址需配合专有网络 VPC 的公网 NAT 网关完成,且 NAT 网关和弹性公网 IP 地址均只能在某个地域的固定可用区购买。
参考来源
来源:阿里云帮助中心 - 设置云原生 API 网关 IP 黑名单和白名单
来源:阿里云帮助中心 - 为实例配置公网和内网 IP 访问白名单 - 微服务引擎
来源:腾讯云文档 - 限制子账号/API 秘钥使用固定 IP 访问 (IP 白名单)
来源:微信小店后台 - 设置 IP 白名单操作指南