Openssl 从MarkLogic服务器连接的sslv3握手失败(0x14077410)

Openssl 从MarkLogic服务器连接的sslv3握手失败(0x14077410),openssl,marklogic,sslv3,Openssl,Marklogic,Sslv3,我正在使用MarkLogic 8并尝试向服务器发出POST请求。我可以通过curl或使用POSTMan进行连接,但是Markloigc失败了。一篇类似的帖子指出,这是SNI的一个问题,因为Markloigc使用OpenSSL。我已经尝试在post请求中添加该选项,但是,我仍然得到相同的错误。解决这个问题有什么见解吗?请参阅下面的代码片段: xdmp:http-post($post_url, <options xmlns="xdmp:http"

我正在使用MarkLogic 8并尝试向服务器发出POST请求。我可以通过curl或使用POSTMan进行连接,但是Markloigc失败了。一篇类似的帖子指出,这是SNI的一个问题,因为Markloigc使用OpenSSL。我已经尝试在post请求中添加该选项,但是,我仍然得到相同的错误。解决这个问题有什么见解吗?请参阅下面的代码片段:

xdmp:http-post($post_url,
                        <options xmlns="xdmp:http">
                         <data>{xdmp:quote($custom_json)}</data>                              
                         <headers>
                           <content-type>application/json</content-type>
                           <Host>{$host}</Host>
                         </headers>
                         <allow-sslv3>true</allow-sslv3>
                       </options>
                        )
xdmp:httppost($post\uurl,
{xdmp:quote($custom_json)}
应用程序/json
{$host}
真的
)

看起来您没有发送任何凭据。试着这样做:

xdmp:http-post(
    $post_url,
    <options xmlns="xdmp:http">
        <data>{xdmp:quote($custom_json)}</data>                              
        <headers>
            <content-type>application/json</content-type>
            <Host>{$host}</Host>
        </headers>
        <allow-sslv3>true</allow-sslv3>
        <authentication method="digest">
            <username>myUsername</username>
            <password>myPassword</password>
        </authentication>
    </options>
)
xdmp:httppost(
$post_url,
{xdmp:quote($custom_json)}
应用程序/json
{$host}
真的
我的用户名
我的密码
)

看起来您没有发送任何凭据。试着这样做:

xdmp:http-post(
    $post_url,
    <options xmlns="xdmp:http">
        <data>{xdmp:quote($custom_json)}</data>                              
        <headers>
            <content-type>application/json</content-type>
            <Host>{$host}</Host>
        </headers>
        <allow-sslv3>true</allow-sslv3>
        <authentication method="digest">
            <username>myUsername</username>
            <password>myPassword</password>
        </authentication>
    </options>
)
xdmp:httppost(
$post_url,
{xdmp:quote($custom_json)}
应用程序/json
{$host}
真的
我的用户名
我的密码
)

为了更新这个线程,我在MarkLogic 9中测试了相同的代码,它正在工作。我不确定这是否是Marklogic 8及其使用的OpenSSL库的组合

为了更新这个线程,我在MarkLogic 9中测试了相同的代码,它正在工作。我不确定这是否是Marklogic 8及其使用的OpenSSL库的组合

Post url包含替换身份验证的令牌。我在OpenSSL客户端上尝试了以下操作,并且在添加-servername参数时能够连接。例如:我在尝试时无法连接:openssl s_客户端-连接:443我在尝试时可以连接:openssl s_客户端-服务器名-连接:443问题是如何在MarkLogic xdmp:http post url中传递-servername参数?post url包含替换身份验证的令牌。我在OpenSSL客户端上尝试了以下操作,并且在添加-servername参数时能够连接。例如:我尝试时无法连接:openssl s_client-connect:443我尝试时可以连接:openssl s_client-servername-connect:443问题是如何在MarkLogic xdmp:http post url中传递-servername参数?