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

使用Cloudflare Worker的Fetch API访问IIS文件遇403 Forbidden错误

解决Cloudflare Worker Fetch API访问IIS服务器403 Forbidden问题

针对你遇到的问题,以下是几个排查和解决方向:

  • 添加Cloudflare IP段到IIS允许列表
    Cloudflare Worker的请求来自Cloudflare的全球IP池,你的IIS可能默认阻止了这些陌生IP。需要把Cloudflare的所有IP段(包括IPv4和IPv6)添加到IIS的IP安全允许规则中:

    1. 打开IIS管理器,选择目标网站,点击右侧的「IP地址和域名限制」
    2. 点击「添加允许条目」,将Cloudflare官方公布的IP段逐一添加
    3. 确保允许规则优先级高于拒绝规则,保存后重新测试请求
  • 为Fetch请求添加合法User-Agent头
    部分IIS服务器会拦截无User-Agent或异常User-Agent的请求,修改Worker代码,手动添加常见浏览器的User-Agent:

    await fetch('http://54.235.2.69/a.pdf', {
      cf: { cacheEverything: true },
      headers: {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
      }
    })
    
  • 补充Host请求头
    直接访问时浏览器会自动携带Host头,而Fetch默认可能不发送,IIS可能需要Host头匹配站点配置。添加Host头到请求中:

    await fetch('http://54.235.2.69/a.pdf', {
      cf: { cacheEverything: true },
      headers: {
        'Host': '54.235.2.69'
      }
    })
    
  • 检查IIS动态IP限制设置
    如果Worker请求频率较高,可能触发了IIS的动态IP限制模块导致临时403:

    1. 打开IIS管理器,选择目标网站,点击「动态IP限制」
    2. 调整请求阈值或暂时禁用该功能测试
    3. 查看IIS日志确认是否有IP拦截记录
  • 再次验证文件权限
    虽然你已检查过网站文件夹的IUSR权限,可再确认a.pdf文件本身的NTFS权限是否允许IIS进程(如IUSR、IIS_IUSRS)读取访问

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 20:05:00