Flask webapp与jenkins一起部署在边缘节点中,由于Kerberos身份验证,对其他http Web的请求失败

iyzzxitl  于 2023-02-18  发布在  Jenkins
关注(0)|答案(1)|浏览(108)

我有一个flask webapp,在一个边缘节点上用jenkins管道部署,运行一个nohup进程,jenkins管道启动的脚本以kinit调用开始。
kinit '用户'@'域'-kt/home/'用户'@'域'/访问/'用户'. keytab
在这个应用程序中,有一个函数可以向另一个http web发出请求。使用kerberos HTTP身份验证。
url ='' x =请求. get(url,验证=假,验证= HTTPKerberosAuth())
部署后,一切正常运行。但是,一段时间后(我不知道确切的时间,但第二天,不到24小时),该功能停止工作,并返回一个401错误。
有人知道为什么会这样吗?
提前感谢大家!
我发现纠正这个错误的唯一方法是重新部署所有的东西,比它正确工作一段时间和错误重复自己完全像以前一样。
还有一个crontab作业,它每天早上7点刷新kerberos票证(我必须检查错误是在刷新之前还是之后开始的,在刷新之后,但我无法检查在刷新之前错误是否已经存在)。我还尝试自己做一个kinit(不重新部署应用程序),运行
kinit '用户'@'域'-kt/home/'用户'@'域'/访问/'用户'. keytab
在终端,但它没有修复任何东西,错误仍然存在,直到我重新部署应用程序.

3wabscal

3wabscal1#

找到的解决方案:问题是通过jenkins管道续订的票证与通过crontab作业续订的票证不同。我在crontab作业运行的脚本中添加了第二行来续订第二个票证,现在一切正常。

相关问题