You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Static Web App不生效staticwebapp.config.json的IP限制规则

Azure Static Web Apps IP限制配置不生效问题排查与解决

问题背景

测试基于Azure Static Web Apps(SWA)的静态HTML页面,需通过staticwebapp.config.json配置IP白名单,仅允许自身IP访问,使用Azure DevOps任务部署后出现以下问题:

  • 管道输出明确显示已读取配置文件,但非指定IP仍可访问站点
  • 将allowedIpRanges设为错误的空数组格式["\""]时,站点依然可被访问;即使改为正确的空数组[],IP限制仍未生效

环境信息

项目结构

project_folder/
|    - index.html
|    - staticwebapp.config.json

原配置文件

{
  "networking": {
    "allowedIpRanges": ["MY_IP"]
  }
}

Azure DevOps部署任务

- task: AzureStaticWebApp@0
  inputs:
    workingDirectory: $(System.DefaultWorkingDirectory)/project_folder/
    app_location: /
    output_location: ''
    is_static_export: true
    skip_app_build: true
    skip_api_build: true
    verbose: true
    azure_static_web_apps_api_token: $(SWA_DEPLOYMENT_TOKEN)

部署管道输出

Verbose logging enabled
Build timeout not specified, defaulting to 15 minutes
App Directory Location: '/' was found.
Looking for event info
Event info parsed from action options.
Skipping step to build /working_dir with Oryx
Found staticwebapp.config.json file: 'staticwebapp.config.json'
Didn't find Oryx manifest file under location: /a2b4be88-c84d-41ed-acfe-2f2c9b2f87b1-swa-oryx/app-manifest/oryx-manifest.toml
Determined default file to be: index.html
Using 'staticwebapp.config.json' file for configuration information, 'routes.json' will be ignored.
No Api directory specified. Azure Functions will not be created.
Either no Api directory was specified, or the specified directory was not found. Azure Functions will not be created.
Zipping App Artifacts
App Zip will be created from directory: /working_dir
Done Zipping App Artifacts
Uploading build artifacts.
Skipping function upload as functions are identical to last successful deployment.
Finished Upload. Polling on deployment.
Status: InProgress. Time: 0.057026(s)
Status: Succeeded. Time: 15.225704(s)
Deployment Complete :)
Visit your site at: https://asdf.azurestaticapps.net
Thanks for using Azure Static Web Apps!
Exiting
Finishing: AzureStaticWebApp

排查与解决步骤

1. 修正IP格式与空数组配置

  • IP格式要求:allowedIpRanges必须使用CIDR格式,单个IP需添加/32(IPv4)或/128(IPv6)后缀,例如:
    {
      "networking": {
        "allowedIpRanges": ["192.168.1.100/32"]
      }
    }
    
  • 禁止所有IP的正确配置:直接使用空数组[],而非错误的["\""](该写法包含无效转义字符,会被SWA忽略):
    {
      "networking": {
        "allowedIpRanges": []
      }
    }
    

2. 确认SWA SKU层级

IP限制功能仅支持标准层(Standard Tier),免费层不提供网络规则配置。检查步骤:

  1. 登录Azure门户,打开目标SWA资源
  2. 在「概述」页面查看「定价层」,若为免费层,需升级至标准层

3. 验证配置文件完整性

虽然管道显示已读取配置文件,但仍需确认:

  • 配置文件位于项目根目录,部署时被正确打包(可下载部署包检查文件位置)
  • JSON格式无语法错误(如逗号遗漏、引号不匹配),可通过JSON校验工具验证

4. 等待配置生效

SWA配置变更可能需要5-10分钟完全生效,部署完成后不要立即测试,等待一段时间后再验证

5. 排除缓存干扰

测试时使用浏览器隐私窗口(无痕模式),或清除本地缓存后访问,避免旧缓存导致的规则不生效


内容的提问来源于stack exchange,提问作者Kevvv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 20:15:05