
# 使用IPv6访问OBS
OBS除支持IPv4外，还支持使用IPv6访问OBS桶。
#### 背景介绍
双栈域名是指一个互联网域名（如 www.example.com）在域名系统（DNS）中同时配置了IPv4和IPv6两种地址记录。用户访问该域名时，DNS会根据访问者自身的网络能力，提供最合适的IP地址：
- 如果用户的网络和设备支持更新的IPv6，则将其解析到IPv6地址（格式如：2001:db8::1）。
- 如果用户仍在使用传统的IPv4网络，则将其解析到IPv4地址（格式如：192.0.2.1）。
双栈域名机制能够帮助用户从IPv4向IPv6平滑过渡，确保了在使用IPv6的同时可以兼容现有的IPv4用户，提供无缝、自动的访问体验。
#### OBS双栈域名
OBS双栈域名同时支持IPv4和IPv6，格式为"*BucketName* .obs.**dualstack** .*RegionID* .myhuaweicloud.com"，双栈域名的终端节点为"obs.**dualstack** .*RegionID* .myhuaweicloud.com"。其中*BucketName* 为桶名，*RegionID* 为区域ID，获取区域ID请参见[区域和区域ID](https://developer.huaweicloud.com/endpoint?OBS)，例如华北-北京四名为examplebucket的桶，它的双栈域名为"examplebucket.obs.dualstack.cn-north-4.myhuaweicloud.com"，终端节点为"obs.dualstack.cn-north-4.myhuaweicloud.com"。
原有的桶访问域名"*BucketName* .obs.*RegionID*.myhuaweicloud.com"仅支持IPv4。
#### 约束与限制
- 可使用IPv6的区域和对应的终端节点（endpoint）可参考**[表1]。**
  ![](https://support.huaweicloud.com/usermanual-obs/public_sys-resources/caution_3.0-zh-cn.png)
  **为了确保您正常使用IPv6，请在使用前先[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/feedbackBusiness?productTypeId=2a129f7ed0b543c6b92d73e2c26aa590)确认区域的支持情况。**
   表1可使用IPv6的区域和对应的终端节点 
  | 区域        | 终端节点（endpoint）                                     |
  |:---|:---|
  | 非洲-约翰内斯堡  | obs.**dualstack**.af-south-1.myhuaweicloud.com     |
  | 华北-北京四    | obs.**dualstack**.cn-north-4.myhuaweicloud.com     |
  | 华北三       | obs.**dualstack**.cn-north-12.myhuaweicloud.com    |
  | 华北-乌兰察布一  | obs.**dualstack**.cn-north-9.myhuaweicloud.com     |
  | 华东二       | obs.**dualstack**.cn-east-4.myhuaweicloud.com      |
  | 华东-青岛     | obs.**dualstack**.cn-east-5.myhuaweicloud.com      |
  | 华东-上海一    | obs.**dualstack**.cn-east-3.myhuaweicloud.com      |
  | 华南-广州     | obs.**dualstack**.cn-south-1.myhuaweicloud.com     |
  | 拉美-圣地亚哥   | obs.**dualstack**.la-south-2.myhuaweicloud.com     |
  | 土耳其-伊斯坦布尔 | obs.**dualstack**.tr-west-1.myhuaweicloud.com      |
  | 西南-贵阳一    | obs.**dualstack**.cn-southwest-2.myhuaweicloud.com |
  | 亚太-马尼拉    | obs.**dualstack**.ap-southeast-5.myhuaweicloud.com |
  | 亚太-曼谷     | obs.**dualstack**.ap-southeast-2.myhuaweicloud.com |
  | 中东-利雅得    | obs.**dualstack**.me-east-1.myhuaweicloud.com      |
  | 中国-香港     | obs.**dualstack**.ap-southeast-1.myhuaweicloud.com |
     
  
- 使用IPv6前，请确保您的客户端和网络支持IPv6。
- 通过IPv6访问OBS桶时，不支持静态网站托管。
 
#### 注意事项
- 如果您在IAM或存储桶策略中使用IP地址作为过滤条件，则需要更新策略以包含IPv6地址范围。
- 使用IPv6时，日志文件会以IPv6格式记录IP地址。您需要更新用于解析日志文件的现有工具、脚本和软件，使其能够解析IPv6格式。
 
#### 使用方式
**obsutil：**
[初始化配置obsutil](https://support.huaweicloud.com/utiltg-obs/obs_11_0005.html)时，将endpoint设置为双栈域名对应的endpoint。例如Windows操作系统使用永久AK、SK进行初始化obsutil：
```
obsutil config -i=ak -k=sk -e=https://obs.dualstack.cn-north-4.myhuaweicloud.com
```
**API：**
[构造API请求](https://support.huaweicloud.com/api-obs/obs_04_0007.html)时，Host填写双栈域名。例如调用创建桶API：
```
PUT / HTTP/1.1  
Host: BucketName.obs.dualstack.cn-north-4.myhuaweicloud.com
Content-Length: length
Date: date
Authorization: authorization
x-obs-az-redundancy: 3az
<CreateBucketConfiguration xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/">        
    <Location>location</Location>  
</CreateBucketConfiguration>
```
**SDK：**
初始化SDK客户端时，endpoint设置为双栈域名对应的endpoint。以[Java客户端初始化](https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0202.html)为例：
```
// 使用双栈域名初始化SDK，以华北-北京四为例
String endPoint = "https://obs.dualstack.cn-north-4.myhuaweicloud.com"; 
// 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险，建议在配置文件或者环境变量中密文存放，使用时解密，确保安全；本示例以ak和sk保存在环境变量中为例，运行本示例前请先在本地环境中设置环境变量ACCESS_KEY_ID和SECRET_ACCESS_KEY_ID。// 您可以登录访问管理控制台获取访问密钥AK/SK，获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html
String ak = System.getenv("ACCESS_KEY_ID"); 
String sk = System.getenv("SECRET_ACCESS_KEY_ID"); 
// 创建ObsClient实例ObsClient 
obsClient = new ObsClient(ak, sk, endPoint);   
// 使用访问OBS
     
// 关闭obsClient
obsClient.close();
```
