本文介绍如何进行自定义域名绑定。
您可以通过添加CNAME记录将自定义域名绑定到指定的存储空间上,从而使用自己的域名访问OSS资源。例如您的域名是example.com,之前访问所有图片都是通过http://img.example.com/x.jpg
的格式访问,在将数据迁移到OSS之后,通过绑定自定义域名的方式,您仍然可以使用原来的地址访问图片。
详情请参见开发指南中的绑定自定义域名。
添加CNAME记录
以下代码用于为存储空间添加CNAME记录:
<?php if (is_file(__DIR__ . '/../autoload.php')) { require_once __DIR__ . '/../autoload.php'; } if (is_file(__DIR__ . '/../vendor/autoload.php')) { require_once __DIR__ . '/../vendor/autoload.php'; } use OSS\OssClient; use OSS\Core\OssException; // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://console.cloud.tmall.com 创建RAM账号。 $accessKeyId = "<yourAccessKeyId>"; $accessKeySecret = "<yourAccessKeySecret>"; // Endpoint以杭州为例,其它Region请按实际情况填写。 $endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; $bucket= "<yourBucketName>"; // 设置自定义域名。 $myDomain = '<yourDomainName>'; try { $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); // 添加CNAME记录。 $ossClient->addBucketCname($bucket, $myDomain); } catch (OssException $e) { printf(__FUNCTION__ . ": FAILED\n"); printf($e->getMessage() . "\n"); return; } print(__FUNCTION__ . ": OK" . "\n");
查看CNAME记录
以下代码用于获取存储空间已添加的CNAME记录:
<?php if (is_file(__DIR__ . '/../autoload.php')) { require_once __DIR__ . '/../autoload.php'; } if (is_file(__DIR__ . '/../vendor/autoload.php')) { require_once __DIR__ . '/../vendor/autoload.php'; } use OSS\OssClient; use OSS\Core\OssException; // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://console.cloud.tmall.com 创建RAM账号。 $accessKeyId = "<yourAccessKeyId>"; $accessKeySecret = "<yourAccessKeySecret>"; // Endpoint以杭州为例,其它Region请按实际情况填写。 $endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; $bucket= "<yourBucketName>"; try { $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); // 查看CNAME记录。 $cnameConfig = $ossClient->getBucketCname($bucket); } catch (OssException $e) { printf(__FUNCTION__ . ": FAILED\n"); printf($e->getMessage() . "\n"); return; } var_dump($cnameConfig); print(__FUNCTION__ . ": OK" . "\n");
删除CNAME记录
以下代码用于删除存储空间的CNAME记录:
<?php if (is_file(__DIR__ . '/../autoload.php')) { require_once __DIR__ . '/../autoload.php'; } if (is_file(__DIR__ . '/../vendor/autoload.php')) { require_once __DIR__ . '/../vendor/autoload.php'; } use OSS\OssClient; use OSS\Core\OssException; // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://console.cloud.tmall.com 创建RAM账号。 $accessKeyId = "<yourAccessKeyId>"; $accessKeySecret = "<yourAccessKeySecret>"; // Endpoint以杭州为例,其它Region请按实际情况填写。 $endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; $bucket= "<yourBucketName>"; // 设置自定义域名。 $myDomain = '<yourDomainName>'; try { $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); // 删除CNAME记录。 $ossClient->deleteBucketCname($bucket, $myDomain); } catch (OssException $e) { printf(__FUNCTION__ . ": FAILED\n"); printf($e->getMessage() . "\n"); return; } print(__FUNCTION__ . ": OK" . "\n");