尝试登录Django Web应用程序时出现Django-auth-ldap问题

时间:2020-09-08 10:48:44

标签: django apache ldap centos7 django-auth-ldap

编辑1:

我已经对Apache告别了,对Nginx&Gunicorn告别了,LDAP现在正在按预期的方式工作。这个问题大概是在Apache配置中,或者可能是在Selinux中-我永远不会知道。

规格:

该网络应用程序运行在 Apache 2.4.6服务器上,该服务器运行在具有 CentOS 7 的VM上。我测试此应用程序的LDAP服务器是 ldap.forumsys.com https://www.forumsys.com/tutorials/integration-how-to/ldap/online-ldap-test-server/)。

错误:

  • 当我尝试登录上述Django应用程序时,authenticate()函数返回None。当我查看Django-auth-ldap日志时,看到此错误:

Caught LDAPError while authenticating euler: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'errno': 107, 'ctrls': [], 'info': 'Transport endpoint is not connected'},)

有效方法:

  • 在我的Centos 7 VM中,我成功能够在LDAP服务器上使用 ldapsearch (我可以从我的VM连接到LDAP服务器)。这使我认为问题不在于Centos本身。
  • 在带有基本Django开发服务器的Windows 10计算机上运行时,LDAP身份验证起作用。代码是相同的,我可以登录没有任何问题。这使我认为问题是不在Django中

我的共同点:

  • 我认为问题一定出在Apache服务器与LDAP服务器之间的通信中。它可能连接到httpd配置(由于不知道是否应该对LDAP的.conf进行任何更改,因为我不知道是否应该这样做),也可能与Centos VM上的防火墙或Selinux有关(我已经打开了389和636端口,但是也许还有某些阻止通讯的问题?)。

0 个答案:

没有答案