Aliyun STS golang sdk Error (405:Method Not Allowed)
source link: https://ioridy.github.io/2021/01/29/aliyun-sts-405-method-not-allowed/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Aliyun STS golang sdk Error (405:Method Not Allowed)
之前用的aliyun golang sdk 完成了STS的授权功能,今天因为要加短信的功能,就顺便升级了aliyun golang sdk的版本,编译没有任何问题,结果发布的时候发现之前sts的获取token接口报405:Method Not Allowed, 因为没有改任何code,知道是因为sdk升级带来的问题,但是不清楚是因为什么,于是debug了下,找到了原因记录下。
debug发现新版本sdk的出现问题是因为sdk内部根据传入的regionId计算出来的endpoint错误,导致405错误, 所以修改了regionId即可正确访问。
上面找到问题后,就好奇为什么同样的配置旧版本的sdk就可以调用成功能,于是有切换了旧版sdk做了debug后发现,主要是旧版本的enpoint解析在几个分支都失败后,会有个全局默认的,所以最终可以得到一个正确的endpoint,但是新版的解析器逻辑修改了,导致了问题出现。
关于regionId这里要注意:
我用到的OSS有自己的regionId,会根据你买服务的地区不同而不同,设置错误无法访问
OSS的regionId(比如我用的:
oss-cn-beijing
)的格式和其他(比如STS和SMS的都是:cn-hangzhou
)都不同,我这边的错误就是因为要做OSS业务,看到sdk要regionId参数,就直接使用了(旧版本sdk还正确访问了- -!)STS没有自己的regionId,是在系统给的自己选(但是sdk里面不同的regionId还是都匹配到同一个host,不了解逻辑是做什么)
ps: sdk里面的endpoint解析逻辑有点复杂,不清楚业务背景不太懂为什么要这样做,比如外边设置了regionId,但里面都用EndpointMap被匹配到一个host,很奇怪。
Recommend
-
153
aliyun/aliyun-openapi-php-sdk: [Abandoned] Open API SDK for PHP developers Skip to content...
-
49
aliyun域名解析python api
-
44
Aliyun Serverless VSCode Extension Aliyun Serverless VSCode Extension 是阿里云 Serverless...
-
49
由于没有注意到ali官方发布到新版的golang sdk for SMS service 快实现完成完成了才发现, 索性把它实现完成,只是没有补充足够的测试. 相比官方sdk, 个人认为实现要比官方版简洁,调用优雅, 可扩展性强于官方版. description: golang...
-
7
Sep 30, 2019 • 贾正华 Aliyun Linux 2 CIS benchmark正式发布 Aliyun Linux 2(注1) CIS benchmark在2019年8月16日正式通过了CIS组织的全部认证流程对外发布,详情参见:https://workbench.cisecurity.org/benchmarks/2228。 关于...
-
2
Introduction At some point in your career using AWS, you’ll find it nessecary to learn a little about how assuming rol...
-
4
使用云服务器搭建 Web 运行环境,尤其是搭建常见的 LNMPR(Linux+Nginx+MySQL+PHP+Redis) 环境,对于开发人员是必备的职场基本技能之一。在这里,借着搭建我的“魚立说”个人网站的机会,整理了从零搭建 LNMPR 环境的详细过程,期间遇到的问题也一一进行了记...
-
3
aliyun 服务器本地磁盘损坏导致数据丢失问题 V2EX › 云计算 aliyun 服务器本地磁盘损坏导致数据丢失问题
-
5
Reading Time: 4 minutes Introduction In this blog post we shall be discussing on AWS:AssumeRole approach for obtaining temporary security credentials using STS(Security Token Service) end to end setup. Tem...
-
1
sts启动boot项目无法识别字符@
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK