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

Flutter WebView出现net::ERR_BLOCKED_BY_ORB错误求助

解决flutter_inappwebview注入Cookie时OVH服务器出现net::ERR_BLOCKED_BY_ORB的问题

net::ERR_BLOCKED_BY_ORB是浏览器/WebView的Origin Restriction Bypass防护机制触发的拦截,结合你AWS正常、OVH异常的场景,核心问题大概率出在OVH的安全配置或WebView与OVH服务器的跨源交互规则上,以下是针对性的排查和解决步骤:

  • 检查OVH服务器的安全防护规则
    OVH默认会开启Web应用防火墙(WAF)及ORB相关防护,可能把你的Cookie注入请求判定为跨源攻击。登录OVH控制台,找到对应服务器的WAF配置:

    • 将Flutter应用的User-Agent、请求源加入白名单;
    • 调整ORB防护规则,放宽对Cookie注入场景的拦截策略;
    • 确认服务器端Cookie的SameSite属性,如果设置为Strict,跨源WebView加载时会触发拦截,可改为Lax(或None,需配合Secure属性)。
  • 调整flutter_inappwebview的Cookie注入逻辑
    避免在onWebViewCreated阶段直接注入Cookie,改用CookieManager提前设置完整的Cookie属性,确保加载页面前Cookie生效:

    await CookieManager.instance().setCookie(
      url: Uri.parse("https://你的OVH域名.com"),
      name: "auth_token",
      value: "你的认证令牌",
      domain: ".你的OVH域名.com", // 开头的点适配所有子域名
      path: "/",
      secure: true,
      sameSite: HTTPCookieSameSitePolicy.LAX,
    );
    

    同时在WebView的初始化配置中关闭严格的跨源隔离:

    initialSettings: InAppWebViewSettings(
      crossOriginOpenerPolicy: CrossOriginOpenerPolicy.UNSAFE_NONE,
      crossOriginEmbedderPolicy: CrossOriginEmbedderPolicy.UNSAFE_NONE,
    ),
    
  • 修正请求头与Origin配置
    在WebView加载时手动设置匹配OVH服务器的Origin请求头,避免跨源判定:

    initialHeaders: {
      "Origin": "https://你的OVH域名.com",
    },
    

    另外检查OVH服务器的CORS配置,确保允许WebView的请求来源访问,比如在Nginx配置中添加:

    add_header Access-Control-Allow-Origin "https://你的OVH域名.com";
    
  • 排查OVH CDN缓存影响
    如果OVH服务器启用了CDN,可能缓存了旧的安全规则,尝试清除CDN缓存,或临时关闭CDN测试是否恢复正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 08:58:13