ドッカーハブのデフォルトイメージを使用して、ドッカーコンテナ内でSonarqubeを実行しています。 Sonarqubeはうまくいきます。私は現在、システムログイン用にLDAPSを使用していますが、動作させることはできません。私はcentos:最新のコンテナを作ってそこで走っているソナークベを持っています。私はこれを行ってldapsearch、vim、telnet、update-caなどを持つことができました。私はopensslを使ってサーバー証明書を追加しました。私はldapsearchのでテストされ、次は成功する:ここではSonarqube Dockerコンテナのログイン用LDAPSの設定に問題があります
[[email protected] linux-x86-64]# ldapsearch -x -LLL -H ldaps://dir.example.com -b "dc=example,dc=com" -D "uid=svcSonar,ou=SvcAccts,ou=People,dc=example,dc=com" -W '(uid=usernamehere)' cn
Enter LDAP Password: ******
dn: uid=usernamehere,ou=Users,ou=People,dc=example,dc=com
cn: User Name
はsonar.propertiesの私の関連するLDAP構成である:ここで
sonar.security.realm=LDAP
ldap.url=ldaps://dir.example.com
ldap.bindDN=uid=svcSonar,ou=SvcAccts,ou=People,dc=example,dc=com
ldap.bindPassword=mypassword
ldap.user.baseDn=ou=Users,ou=People,dc=example,dc=com
ldap.user.request=(uid={login})
はTRACEとDEBUGとの関連sonar.logエントリである上:
2016.04.15 16:32:35 INFO web[o.s.s.p.ServerPluginRepository] Deploy plugin LDAP/1.5.1/8960e08512a3d3ec4d9cf16c4c2c95017b5b7ec5
2016.04.15 20:19:07 INFO web[org.sonar.INFO] Security realm: LDAP
2016.04.15 20:19:07 INFO web[o.s.p.l.LdapSettingsManager] User mapping: LdapUserMapping{baseDn=ou=Users,ou=People,dc=example,dc=com, request=(uid={0}), realNameAttribute=cn, emailAttribute=mail}
2016.04.15 20:19:07 DEBUG web[o.s.p.l.LdapContextFactory] Initializing LDAP context {java.naming.provider.url=ldaps://dir.example.com, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, com.sun.jndi.ldap.connect.pool=true, java.naming.security.authentication=simple, java.naming.referral=follow}
2016.04.15 20:19:07 INFO web[o.s.p.l.LdapContextFactory] Test LDAP connection on ldaps://dir.example.com: OK
2016.04.15 20:19:07 INFO web[org.sonar.INFO] Security realm started
.
.
.
2016.04.15 20:26:55 DEBUG web[o.s.p.l.LdapUsersProvider] Requesting details for user usernamehere
2016.04.15 20:26:55 DEBUG web[o.s.p.l.LdapSearch] Search: LdapSearch{baseDn=ou=Users,ou=People,dc=example,dc=com, scope=s
ubtree, request=(uid={0}), parameters=[usernamehere], attributes=[mail, cn]}
2016.04.15 20:26:55 DEBUG web[o.s.p.l.LdapContextFactory] Initializing LDAP context {java.naming.provider.url=ldaps://di
r.example.com, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, com.sun.jndi.ldap.connect.pool=true, java.na
ming.security.authentication=simple, java.naming.referral=follow}
2016.04.15 20:26:55 DEBUG web[o.s.p.l.LdapUsersProvider] User usernamehere not found in <default>
私は、証明書のために、以下のなかった:
echo "" | openssl s_client -connect server:port -prexit 2>/dev/null | sed -n -e '/BEGIN\ CERTIFICATE/,/END\ CERTIFICATE/ p' > ldap.pem
update-ca-trust force-enable
cp ldap.pem /etc/pki/ca-trust/source/anchors/
update-ca-trust extract
また、keytoolを使用してSonarqubeが使用しているjreのJava cacertsにldap.pemを追加しました。
アイデア?
あなたは 'openssl s_client -connectで試すことができますか?: -showcerts/dev/null | openssl x509 -outform PEM |ダウンロードsudo tee/etc/pki/ca-trust/source/anchors/ .crt'? ( ''と ''を正しい値に置き換えてください)。証明書を ' .crt'(' ldap.pem'ではなく)としてコピーします。その後、 'update-ca-trust'。 –
VonC
上記の結果と同じ結果が得られました:[root @ bf9accb5647dアンカー]#ls -ltr 合計8 -rw-r - r-- 1ルートルート3286 Apr 15 16:37 ldap.crt -rw-r --r-- 1 root root 1643 Apr 18 13:59 dir.example.com.crt [root @ bf9accb5647dアンカー]#update-ca-trust force-enable [root @ bf9accb5647dアンカー]#update-ca-trust extract –
あなたのシステムに '/ etc/ssl/certs/ca-certificates.crt'がありますか? – VonC