1

だから私は bluemix に安全なゲートウェイを持っています。セキュア ゲートウェイは、ローカル プレミスの LDAP サービスに接続しています。セキュア ゲートウェイで、相互 TLS を構成しました。

今のところ、React\socket-client を使用して接続していますが、正常に接続されています。LDAP でデータを照会する方法がわかりません。LDAPサーバーに接続できないことが常にあります。

$loop = React\EventLoop\Factory::create();
$tcpConnector = new React\SocketClient\TcpConnector($loop);
$dnsResolverFactory = new React\Dns\Resolver\Factory();
$dns = $dnsResolverFactory->createCached('8.8.8.8', $loop);

$dnsConnector = new React\SocketClient\DnsConnector($tcpConnector, $dns);
$secureConnector = new React\SocketClient\SecureConnector($dnsConnector, $loop, array(
    'verify_peer' => true,
    'verify_peer_name' => true,
    'allow_self_signed' => true,
    'cafile' => <CACERT>,
    'local_pk' => <PK_CERT>,
    'local_cert' => <LOCALCERT>
));

$secureConnector->create(<Secure Gateway Link>)->then(function(React\Stream\Stream $stream)
{
 //I'M CONNECTED HERE
//Secure gateway status is establishing connection and not closing
    $ldap_server = "ldap://0.0.0.0";
    $basedn = "<xxx>";
    $auth_user = "<xxx>";
    $auth_pass = "<xxx>";

    if (!($connect = @ldap_connect($ldap_server)))
    {
        throw new Exception("Cannot connect to LDAP");
    } else
    {
        try
        {
            //In order to avoid unable bind to server
            ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
            $bind = ldap_bind($connect, $auth_user, $auth_pass);

            if (!$bind)
            {
                if (ldap_get_option($connect, LDAP_OPT_DIAGNOSTIC_MESSAGE, $extended_error))
                {
                    throw new Exception("Error Binding to LDAP: $extended_error");;
                } else
                {
                    throw new Exception("Error Binding to LDAP: No additional information is available.");
                }

            } else
            {
                //connected to LDAP and do search
               //never goes here
            }
        } catch (Exception $exc)
        {
            $exc->getMessage();
            $stream->end();
        }
    }

}, function($err)
{
    echo $err . '<br>';
    die();
});

$loop->run();

https://developer.ibm.com/bluemix/2015/04/17/securing-destinations-tls-bluemix-secure-gateway/の nodejs コード をこのコードに変換しています....次の場合は別のパケットを使用できます私はしなければならない、私は何を使うべきかわからない。私を助けてください..

前もって感謝します

4

0 に答える 0