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

如何让OpenAI URL Datasource索引器抓取需IIS Windows Integrated Authentication的站点?

Azure认知搜索URL数据源无法通过Windows NT认证的解决方案

问题背景

我们已基于连接内部网络的Azure资源搭配OpenAI URL数据源完成Demo搭建,但内部Web服务器要求Windows NT(NTLM)认证,导致索引器无法爬取站点,构建数据源时返回错误:

We couldn't connect your data. Resource validation failed...

询问除了将网站文件存入Blob再爬取的方式外,是否有办法让索引器传递凭据。


可行解决方案

除了Blob存储方案外,有三种间接实现NTLM认证的方式:

1. 借助Azure应用程序网关做反向代理

Azure认知搜索URL数据源本身不支持NTLM,但可以通过应用程序网关作为中间层处理认证:

  • 将应用程序网关部署到可访问内部Web服务器的VNet中
  • 配置网关后端池指向目标内部Web服务器
  • 在网关的HTTP设置中启用NTLM认证,配置对应凭据
  • 创建路由规则,暴露网关的可访问端点
  • 将搜索索引器的URL数据源指向网关的端点,由网关负责与内部服务器完成NTLM认证交互

2. 使用Azure函数作为认证中间层

编写轻量Azure函数实现NTLM认证转发:

  • 部署Azure函数到与内部Web服务器连通的VNet
  • 在函数代码中实现NTLM认证逻辑(例如C#中使用HttpClient结合CredentialCache添加NTLM凭据),转发请求到内部服务器并返回页面内容
  • 将索引器的URL数据源指向函数的触发URL,索引器通过调用函数间接获取需要爬取的内容

3. 转换认证方式为Azure AD(需服务器支持)

如果内部Web服务器可以调整认证方式,可改为Azure AD认证:

  • 为Azure认知搜索服务分配系统托管标识或用户托管标识
  • 在内部Web服务器上配置允许该托管标识的访问权限
  • 配置搜索索引器的URL数据源使用托管标识进行认证,直接访问内部服务器

注意事项

  • 确保Azure认知搜索服务与应用程序网关/函数在同一VNet,或通过VNet peering建立网络连通性
  • 所有凭据需通过Azure Key Vault安全存储,禁止硬编码在配置或代码中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 09:34:58