今天使用了 ECS 提供的API ,当授权时,出现一个有意思的地方。
接口:
AuthorizeSecurityGroup
授权安全组权限
传送值:
IpProtocol String 是 IP协议,取值:tcp|udp|icmp|gre|all;All表示同时支持四种协议
这个是API里面写的值 ,但是当我选用 all 协议的时候返回以下错误。
{"Code":"InvalidPortRange.Malformed","HostId":"ecs.aliyuncs.com","Message":"Specified port range is not valid.","RequestId":"74526F36-3F02-41EE-AF26-30041F16C268"}
当我将值 改为tcp时,返回如下:
{"RequestId":"FF7E5E46-6719-475D-A523-9FA7604B1BE3"}
根据api 显示,应该是正确的。可是很不幸,我再查询权限的时候是不存在。
抓包显示如下:
GET /?TimeStamp=2013-10-14T09:41:03Z&SourceCidrIp=10.129.105.12&IpProtocol=all&SecurityGroupId=G90b93c32-f9ee-4c41-a8f0-33d3ca205557&Format=JSON&AccessKeyId=IGLHcX5PAafdMP61&Action=AuthorizeSecurityGroup&NicType=intranet&SignatureMethod=HMAC-SHA1&PortRange=1/65535&RegionId=cn-qingdao-cm5-a01&SignatureNonce=39f3dd97-2936-4ad9-914a-ab65846b478f&SignatureVersion=1.0&Version=2013-01-10&Signature=g7qJuli5AV/5DJgztNRw3a2J/aI= HTTP/1.1
User-Agent: Java/1.7.0_12-ea
Host: ecs.aliyuncs.com
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
HTTP/1.1 400 Bad Request
Server: Tengine
Date: Mon, 14 Oct 2013 09:40:51 GMT
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Connection: close
a3
{"Code":"InvalidPortRange.Malformed","HostId":"ecs.aliyuncs.com","Message":"Specified port range is not valid.","RequestId":"EFCF069E-91F9-4040-A84F-DACCDF88DC0F"}
0
如果觉得好,请给点带金的,别来什么花呀,草呀的。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。