全部产品
Search
文档中心

Alibaba Cloud SDK:Konfigurasikan permintaan HTTPS

更新时间:Jun 28, 2025

Topik ini menjelaskan cara mengonfigurasi permintaan HTTPS di Alibaba Cloud SDK V1.0 untuk PHP.

Konfigurasikan permintaan HTTPS

Anda dapat mengonfigurasi pengaturan untuk menonaktifkan verifikasi sertifikat atau mengatur konfigurasi HTTP lainnya di Guzzle. Untuk informasi lebih lanjut, lihat Opsi Permintaan.

Penting

Secara default, jika Anda mengirim permintaan API melalui HTTPS, SDK akan mengaktifkan verifikasi sertifikat untuk memvalidasi sertifikat SSL/TLS. Jika tidak ada sertifikat SSL/TLS yang dikonfigurasi di lingkungan pengembangan, kesalahan terkait kegagalan verifikasi sertifikat akan dilaporkan.

Untuk memastikan keamanan komunikasi jaringan, kami sarankan Anda mengaktifkan verifikasi sertifikat. Namun, jika verifikasi sertifikat harus dinonaktifkan dalam lingkungan pengujian, Anda dapat mengatur parameter verify menjadi false.

Panggilan spesifik

Anda dapat mengonfigurasi objek permintaan untuk mengirim permintaan API melalui HTTPS. Contoh kode:

<?php

require_once 'vendor/autoload.php';

use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Ecs\Ecs;

try {
    // Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah dikonfigurasi. 
    AlibabaCloud::accessKeyClient(getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'));
    $request = Ecs::v20140526()->describeRegions();
    $result = $request
        ->scheme('https') // Tentukan protokol yang digunakan untuk mengirim permintaan API. 
        ->verify(false) // Tentukan apakah akan mengaktifkan verifikasi sertifikat. Nilai false menunjukkan bahwa verifikasi sertifikat dinonaktifkan. Untuk memastikan keamanan komunikasi jaringan, kami sarankan Anda mengaktifkan verifikasi sertifikat. 
        ->version('2014-05-26')
        ->product('Ecs')
        ->action('DescribeRegions')
        ->regionId('cn-hangzhou')
        ->request();
    print_r($result->toArray());
} catch (ClientException $exception) {
    // Tangani pengecualian dengan hati-hati dalam skenario bisnis aktual Anda dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan dicetak hanya untuk referensi. 
    echo $exception->getMessage() . PHP_EOL;
} catch (ServerException $exception) {
    // Tangani pengecualian dengan hati-hati dalam skenario bisnis aktual Anda dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan dicetak hanya untuk referensi. 
    echo $exception->getMessage() . PHP_EOL;
    echo $exception->getErrorCode() . PHP_EOL;
    echo $exception->getRequestId() . PHP_EOL;
    echo $exception->getErrorMessage() . PHP_EOL;
}

Panggilan umum

Anda dapat mengonfigurasi permintaan HTTPS untuk mengirim permintaan API dalam gaya panggilan prosedur jarak jauh (RPC). Contoh kode:

<?php

require_once 'vendor/autoload.php';

use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;

try {
    // Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah dikonfigurasi. 
    AlibabaCloud::accessKeyClient(getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'));
    $result = AlibabaCloud::rpc()
        ->product('Ecs')
        ->version('2014-05-26')
        ->action('DescribeRegions')
        ->regionId('cn-hangzhou')
        ->scheme('https') // Tentukan protokol yang digunakan untuk mengirim permintaan API. 
        ->verify(false) // Tentukan apakah akan mengaktifkan verifikasi sertifikat. Nilai false menunjukkan bahwa verifikasi sertifikat dinonaktifkan. Untuk memastikan keamanan komunikasi jaringan, kami sarankan Anda mengaktifkan verifikasi sertifikat. 
        ->request();
    print_r($result->toArray());
} catch (ClientException $exception) {
    // Tangani pengecualian dengan hati-hati dalam skenario bisnis aktual Anda dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan dicetak hanya untuk referensi. 
    echo $exception->getMessage() . PHP_EOL;
} catch (ServerException $exception) {
    // Tangani pengecualian dengan hati-hati dalam skenario bisnis aktual Anda dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan dicetak hanya untuk referensi. 
    echo $exception->getMessage() . PHP_EOL;
    echo $exception->getErrorCode() . PHP_EOL;
    echo $exception->getRequestId() . PHP_EOL;
    echo $exception->getErrorMessage() . PHP_EOL;
}

Anda juga dapat mengonfigurasi permintaan HTTPS untuk mengirim permintaan API dalam gaya arsitektur berorientasi sumber daya (ROA). Contoh kode:

<?php

require_once 'vendor/autoload.php';

use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;

try {
    // Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah dikonfigurasi. 
    AlibabaCloud::accessKeyClient(getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'));
    $result = AlibabaCloud::roa()
        ->product('CS')
        ->version('2015-12-15')
        ->action('DescribeClustersV1')
        ->pathPattern('/api/v1/clusters')
        ->regionId('cn-hangzhou')
        ->options([
            'query' => [
            ],
        ])
        ->scheme('https') // Tentukan protokol yang digunakan untuk mengirim permintaan API. 
        ->verify(false) // Tentukan apakah akan mengaktifkan verifikasi sertifikat. Nilai false menunjukkan bahwa verifikasi sertifikat dinonaktifkan. Untuk memastikan keamanan komunikasi jaringan, kami sarankan Anda mengaktifkan verifikasi sertifikat. 
        ->request();
    print_r($result->toArray());
} catch (ClientException $exception) {
    echo $exception->getMessage() . PHP_EOL;
} catch (ServerException $exception) {
    echo $exception->getMessage() . PHP_EOL;
    echo $exception->getErrorCode() . PHP_EOL;
    echo $exception->getRequestId() . PHP_EOL;
    echo $exception->getErrorMessage() . PHP_EOL;
}

Tentukan sertifikat kustom

Untuk memastikan keamanan komunikasi jaringan, kami sarankan Anda mengirim permintaan API melalui HTTPS dan mengaktifkan verifikasi sertifikat. Anda dapat menggunakan salah satu metode berikut untuk melakukan verifikasi sertifikat di Alibaba Cloud SDK V1.0 untuk PHP.

  1. Tentukan sertifikat untuk permintaan API:

<?php

use AlibabaCloud\Client\AlibabaCloud;

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

// Kueri sertifikat di sistem operasi.
$request->verify(true);

// Gunakan sertifikat yang ditentukan.
$request->verify(['verify' => '/path/to/cert.pem']);

// Gunakan sertifikat yang ditentukan dan kata sandi.
$request->verify(['verify' => ['/path/to/cert.pem','password']]);

2. Tentukan sertifikat untuk klien:

<?php

use AlibabaCloud\Client\AlibabaCloud;

// Kueri sertifikat di sistem operasi.
AlibabaCloud::getDefaultClient()
            ->verify(true)
            ->asDefaultClient();

// Gunakan sertifikat yang ditentukan.
AlibabaCloud::getDefaultClient()
            ->verify(['verify' => '/path/to/cert.pem'])
            ->asDefaultClient();

// Gunakan sertifikat yang ditentukan dan kata sandi.
AlibabaCloud::getDefaultClient()
            ->verify(['/path/to/cert.pem','password'])
            ->asDefaultClient();