1

我已经使用 Aws cognito 在 Java 中实现了单点登录。

它在 http 上运行良好,但在将 http 移动到 https 之后。API 不工作并抛出以下错误:

WP_Error Object
(
    [errors] => Array
        (
            [http_request_failed] => Array
                (
                    [0] => cURL error 35: error:1408F10B:SSL routines:ssl3_get_record:wrong version number
                )

        )

    [error_data] => Array
        (
        )

)

我已经使用了 get 和 Post API,如下所示:

$bodyData = array(
      'username' => $_POST['username'],
      'password' => $_POST['password']
      );
   $response = wp_remote_post('https://example.com:8083/digitalIdentityProvider/login', 
               array(
                  'method' => 'POST',
                  'timeout' => 45,
                  'redirection' => 5,
                  'httpversion' => '2.0',
                  'sslverify'   => true,
                  'blocking' => true,
                  'headers' => array('Content-Type'=> 'application/json'),
                  'body' => json_encode($bodyData) ,
                  'cookies' => array()
                  ));

你能请人指导或建议吗?谢谢。

4

1 回答 1

0

在使用 wordpress 代码和 AWS 之后,我发现了 Aws ELB 和 Load Balancer 的问题。

SSL 证书已应用于 LB,第三方 API 和 wordpress 托管在 AWS EC2 上,而 EC2 没有 SSL 证书,我试图使用 HTTPS 访问 API:

https://example.com:8083/digitalIdentityProvider/login因此请求没有在那里验证,因此我没有收到来自 API 的任何响应。

我更改了 API 调用

https://example.com:8083/digitalIdentityProvider/login

http://example.com:8083/digitalIdentityProvider/login

将其https更改为http后。它工作正常。

于 2019-04-11T04:42:56.453 回答