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

自托管Firecrawl爬取内网站点触发安全规则错误的求助

问题解答

1. Firecrawl为何拦截*.intranet.*类内网域名?

Firecrawl默认启用的safeFetch安全机制会自动拦截内网、本地回环地址(如127.0.0.1、localhost)以及私有IP段相关域名,核心目的是防止爬虫被用于攻击内部网络或访问敏感本地资源。*.intranet.*这类域名属于行业通用的内部专用域名标识,会被安全规则默认判定为内网资源,哪怕容器和宿主机能正常访问,API层面的前置安全校验仍会触发拦截。

2. 绕过safeFetch安全规则或白名单内网域名的方法

针对Docker自托管部署场景,可通过以下两种方式配置:

方式一:通过环境变量快速配置

启动Docker容器时,追加对应环境变量:

  • 完全禁用safeFetch安全规则(适合测试环境,生产环境不推荐):
    docker run -e DISABLE_SAFE_FETCH=true ...  # 保留原有启动参数
    
  • 仅添加内网域名到白名单(更安全的生产环境方案):
    docker run -e SAFE_FETCH_ALLOWED_DOMAINS="intranet.xxx.gov.tr,*.intranet.xxx.gov.tr" ...
    
    多个域名用逗号分隔,支持通配符*匹配多级子域名。

方式二:修改配置文件实现持久化配置

如果需要持久化保存配置,可挂载本地配置目录到容器:

  1. 从运行中的Firecrawl容器导出默认配置文件(假设容器名为firecrawl):
    docker cp firecrawl:/app/.env .
    
  2. 在本地编辑.env文件,添加或修改配置项:
    # 可选:完全禁用安全规则
    DISABLE_SAFE_FETCH=true
    
    # 可选:添加白名单域名(二选一即可)
    SAFE_FETCH_ALLOWED_DOMAINS="intranet.xxx.gov.tr,*.intranet.xxx.gov.tr"
    
  3. 重新启动容器并挂载修改后的配置文件:
    docker run -v $(pwd)/.env:/app/.env ...  # 保留原有启动参数
    

配置完成后重启Firecrawl容器,再次发起爬取请求即可正常访问目标内网域名。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 11:43:10