我们使用kubernetes部署了一个web应用程序,最近(8/9/21周)我们突然开始使用伪造API出错。在我们的开发环境中,一切都按预期的方式工作(只使用Docker容器,不使用kubernetes)。
我们使用的是一个较旧的伪造api ( forge包;我们计划升级到autodesk.forge.designautomation,但现在根本没有时间/资源)。
我们主要使用的是模型派生API,但所有问题都可能与身份验证步骤有关:
const oAuth = new ForgeSDK.AuthClientTwoLegged(config.forgeClientId, config.forgeClientSecret, [
'data:read',
'data:write',
'data:create',
'bucket:read',
'bucket:create'],
true)
token = await oAuth.authenticate()
很多时候,如果出现以下错误,这将失败:
错误ERR_TLS_CERT_ALTNAME_INVALID: Hostname/IP不匹配证书的altname: Host: developer.api.autodesk.com。不在证书中: DNS:.beta.doxo.com,DNS:beta.doxo.com at Object.checkServerIdentity (tls.js:288:12) at TLSSocket.onConnectSecure (_tls_wrap.js:1485:27) at TLSSocket.emit (events.js:321:20) at TLSSocket._finishInit (_tls_wrap.js:918:8) at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:688:12) (理由:“主机: developer.api.autodesk.com”)。不在证书的altname: DNS:.beta.doxo.com,DNS:beta.doxo.com",主机:'developer.api.autodesk.com',cert:{ subject: Object: null prototype { CN:'.beta.doxo.com‘},颁发者: null prototype { C:'US',O:'Amazon',OU:'Server CA 1B',CN:'Amazon’},subjectaltname:'DNS:.beta.doxo.com,DNS:beta.doxo.com',infoAccess: Object: null prototype { 'OCSP - URI':数组,'CA颁发者- URI':数组}
然而,并非总是如此。有时,它会执行各种后续步骤(例如,通过BucketsAPI创建存储桶,上传到存储桶,或将文件转换为SVF)。这似乎完全是随机的,它将达到多远,通常挂在这些步骤之一,并停止接收响应,直到我们的连接超时错误抛出。
有时,当它到达SVF转换步骤时,它会抛出另一个与证书相关的错误:
错误: SSL证书错误:异步(/opt/model_service/node_modules/puppeteer/lib/NavigatorWatcher.js:76:20) (/opt/model_service/node_modules/puppeteer/lib/Page.js:465:19)上的NavigatorWatcher.waitForNavigation ERR_CERT_COMMON_NAME_INVALID at processTicksAndRejections (内部/进程/任务队列)97:97:5
其他时候,在SVG转换期间,它将抛出一个JSON循环引用错误,同样与证书相关:
TypeError:将循环结构转换为JSON -->从构造函数' object‘开始--属性'issuerCertificate’关闭JSON.stringify ()处的圆圈
到目前为止,我最好的评估是,kubernetes DNS存在一个问题--但我不知道为什么会突然发生这种情况(这在其他方面已经稳定了几年),以及为什么行为看起来有些随机。
任何投入都非常感谢,谢谢。
发布于 2021-09-02 23:06:23
2018年12月,我们确实迁移到了TLS 1.2 (请参阅这里的更多信息),你能确认你的应用程序和环境已经设置好了吗?
此外,我们不时需要更新证书,您的环境是否有可能将旧证书保存在缓存中?
https://stackoverflow.com/questions/68946373
复制相似问题