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

使用django-python3-ldap连接LDAP/AD遭拒绝,求排查方向

排查 Django LDAP 连接拒绝错误(WinError 10061)

从你给出的错误日志来看,程序尝试连接的是本地地址(127.0.0.1/::1)的389端口,而不是你配置的公司LDAP服务器IP——这是个关键线索!结合你的配置和错误信息,我整理了几个最可能的原因:

1. 配置参数名混淆(最可能的根源)

你使用的是django_python3_ldap库,但配置里混用了django-auth-ldap的参数:

  • django_python3_ldap要求服务器URI的参数名是LDAP_AUTH_SERVER_URI,但你写的是AUTH_LDAP_SERVER_URI(这是django-auth-ldap的参数)!
  • 因为库读取不到正确的服务器地址,所以默认尝试连接本地的LDAP服务(而你的机器上根本没装),才会出现"目标机器主动拒绝连接"的错误。

修复方法:把AUTH_LDAP_SERVER_URI改成LDAP_AUTH_SERVER_URI,确保参数名和django_python3_ldap的要求一致。

2. 网络连通性问题

即使参数改对了,也需要先确认你的开发机器能访问公司LDAP服务器:

  • 用Windows PowerShell测试端口连通性:Test-NetConnection ***.**.***.** -Port 389(把星号换成实际IP)
  • 如果测试失败,大概率是公司防火墙限制了开发机器的访问权限,或者LDAP服务器的IP/端口配置错误(比如公司用的是636端口的LDAPS,而非389的明文LDAP)。

3. LDAP服务器是否禁用明文连接

你设置了LDAP_AUTH_USE_TLS = False,但很多企业的AD服务器现在会禁用明文LDAP(389端口),强制使用加密的LDAPS(636端口):

  • 如果是这种情况,需要把URI改成ldaps://***.**.***.**,并确保LDAP_AUTH_USE_TLS设置为True(或者根据库的要求调整)。如果公司用的是自签名证书,可能还需要配置LDAP_AUTH_CA_CERTIFICATES参数指定证书路径。

4. 本地安全软件拦截

本地的杀毒软件、Windows Defender防火墙也可能拦截Python程序的出站LDAP请求:

  • 可以临时关闭本地防火墙测试,或者把Python.exe加入防火墙的允许出站列表。

5. 连接用户名格式问题(连通后可能遇到的问题)

虽然现在是连不上服务器,但提前提一下:如果后续连通了出现绑定失败,检查用户名格式是否符合公司AD要求——有些AD要求用DOMAIN\username格式(比如ab\usr),而非usr@ab.com,你可以尝试调整LDAP_AUTH_CONNECTION_USERNAME的格式。

先优先检查第1点,这几乎是导致错误日志里连接本地地址的直接原因!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:53:32