创建并使用token示例:
TOKEN=`curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aliyun-ecs-metadata-token: $TOKEN"  http://100.100.100.200/latest/meta-data/instance-id
示例说明如下:
  • 通过PUT方法创建一个有效期为21600秒(6小时)的token。
  • 使用变量TOKEN存储token。
  • 访问实例元数据中的ECS实例ID,并在请求中填入了token变量名称$TOKEN
在token有效期内可以重复使用token,使用已有token示例:
curl -H "X-aliyun-ecs-metadata-token: $TOKEN"  http://100.100.100.200/latest/meta-data/instance-id
错误示例:
  • 有效期过长。
    curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds: 21700"
  • 创建token的请求中存在X-Forwarded-For标头。
    curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-Forwarded-For: www.ba****.com"
  • 访问实例元数据时指定的token无效。
    curl -H "X-aliyun-ecs-metadata-token: aaa" -v http://100.100.100.200/latest/meta-data/