HTTPS 请求配置

更新时间: 2023-05-18 16:59:33

本节主要介绍原版 SDK 如何进行 HTTPS 配置。

使用 HTTPS 协议

可以通过对 client 设置请求通过 HTTPS 协议发送:

AlibabaCloud::xxx()
               ->scheme('https') // 指定请求方案,默认HTTP

忽略HTTPS 校验

可以通过对 client 设置忽略证书验证,支持 guzzlehttp 的其他配置guzzlephp request options

重要

使用 HTTPS 协议访问 OpenAPI 时,SDK 会默认开启校验 SSL/TLS 证书有效性,若您代码环境没有证书环境,则会报错证书校验失败。

为保障环境通信安全,建议您保持开启,若在测试环境必须忽略证书校验,可以通过参数verify设置。

// Client HTTPS 忽略 SSL 证书校验
AlibabaCloud::xxx()
              ->regionId('cn-hangzhou')
              ->verify(false)
              ->asDefaultClient();

传入自定义证书

  1. 在 request 上设置:

<?php

use AlibabaCloud\Client\AlibabaCloud;

$request = AlibabaCloud::rpc()
                       ->product('Sts')
                       ->version('2015-04-01')
                       ->action('GenerateSessionAccessKey')
                       ->host('sts.ap-northeast-1.aliyuncs.com');

// 在操作系统中寻找
$request->verify(true);

// 使用指定的文件
$request->verify(['verify' => '/path/to/cert.pem']);

// 使用指定的文件和密码
$request->verify(['verify' => ['/path/to/cert.pem','password']]);

2. 在 client 上设置:

<?php

use AlibabaCloud\Client\AlibabaCloud;

// 在操作系统中寻找
AlibabaCloud::getDefaultClient()
            ->verify(true)
            ->asDefaultClient();

// 使用指定的文件
AlibabaCloud::getDefaultClient()
            ->verify(['verify' => '/path/to/cert.pem'])
            ->asDefaultClient();

// 使用指定的文件和密码
AlibabaCloud::getDefaultClient()
            ->verify(['/path/to/cert.pem','password'])
            ->asDefaultClient();
阿里云首页 阿里云SDK 相关技术圈