Laravel ldaprecord ldap_bind_ext():无法绑定到服务器:无法联系 LDAP 服务器

问题描述 投票:0回答:1

我在我的 laravel 应用程序上使用 ldap 记录。

我的 .env 文件中有以下内容:

LDAP_LOGGING=true
LDAP_CONNECTION=default
LDAP_CONNECTIONS=default

LDAP_DEFAULT_HOSTS="ad01.company.com"
LDAP_DEFAULT_USERNAME="CN=csh_dashboard_ldap,OU=Service Accounts,DC=company,DC=com"
LDAP_DEFAULT_PASSWORD="password!"
LDAP_DEFAULT_PORT=636
LDAP_DEFAULT_BASE_DN="dc=company,dc=com"
LDAP_DEFAULT_TIMEOUT=20
LDAP_DEFAULT_SSL=true
LDAP_DEFAULT_TLS=false
LDAP_DEFAULT_SASL=false
LDAP_DEFAULT_OPT_PROTOCOL_VERSION=3

以及

/etc/ldap/ldap.conf

中的以下内容
#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

#BASE   dc=example,dc=com
#URI    ldap://ldap.example.com ldap://ldap-provider.example.com:666

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never
TLS_REQCERT hard

# TLS certificates (needed for GnuTLS)
# TLS_CACERT    /etc/ssl/certs/ca-certificates.crt
TLS_CACERT      /etc/ssl/certs/jh-company.ca.pem

我从

php artisan ldap:test

收到以下错误

| default    | ✘ No       | CN=csh_dashboard_ldap,OU=Service Accounts,DC=company,DC=com | ldap_bind_ext(): Unable to bind to server: Can't contact LDAP server (-1). Error Code: [-1] Diagnostic Message: (unknown error code) | 320.86ms      |

如果我在

/etc/ldap/ldap.conf
中更改以下内容,我会收到一条成功消息:

TLS_REQCERT never
default    | ✔ Yes      | CN=csh_dashboard_ldap,OU=Service Accounts,DC=company,DC=com | Successfully connected. | 291.81ms  

该证书具有以下权限:

user@server:/var/www/csh-dashboard$ ls /etc/ssl/certs/jh-company.ca.pem -l
lrwxrwxrwx 1 root root 47 Apr 26 09:32 /etc/ssl/certs/jh-company.ca.pem -> /usr/local/share/ca-certificates/jh-company.ca.crt

我还可以通过 telnet 636 访问 ldap 服务器,所以我不认为该端口被阻止。

有人可以帮忙吗?我不知道还能做什么。

php laravel ldap
1个回答
0
投票

嗯,我在 .env 文件中使用了以下内容:

LDAP_DEFAULT_OPT_X_TLS_REQUIRE_CERT = "LDAP_OPT_X_TLS_HARD"

© www.soinside.com 2019 - 2024. All rights reserved.