内容纲要
概要描述
TDH 602集群,对于开了安全的服务,直接去 curl API 会重定向到安全认证页面,从而返回302 Found的错误。
详细说明
比如curl一个inceptor的API
curl -v http://172.22.23.1:4040/api/version
返回结果是 302 Found
问题原因
从结果中的 Location 部分来看,可知是跟安全相关的问题
可以参考以下文档来解决: http://172.16.1.168:8090/pages/viewpage.action?pageId=23483892
或者是用本文下面的思路
解决方案:添加token
在guardian管理界面,登录需要的用户,(登录用户和提交到4040任务的用户必须是同一个,这样以该用户提交任务后,才能通过被访问到;如果guardian_access_toekn和提交的用户不一致,则没有权限看到)
A用户登录guardian,生成A的token;访问时候,只能看到A用户提交到4040页面的job,看不到B用户提交的。
在curl命令中加上上一步得到的token即可:
curl -v http://172.22.23.1:4040/api/jobs?counts=20&guardian_access_token=o3sBnqSZ2vc6n7lHTYlt-TDH
PS:该方法在测试时有时需要curl多次才能成功