解決PKIX path building failed


起因

上周在生產環境部署時,把安全證書加到k8s-ingress中時發現報該錯誤

解決

windows環境,本機測試是可行的,但搬到開發環境,開啟測試時也沒報錯,再將應用容器化時,如法炮制,發現並不能正常運行,通樣會報PKIX path building failed的錯誤。
檢查各項配置,與宿主機系統,本機windows環境一致,但依舊未能跑通。

后來求助上級,唯一不同點是將域名的映射加入到hosts文件中,才發現在本機和開發環境都提前配置好了hosts,所以沒發現這個錯誤,並且java所報的異常跟剛開始未加入java ca授信列表時所報的異常一樣,所以一度懷疑是jre問題(雖然基本不可能)。

結果

將ca證書文件依次加入容器,加入java授信列表,重新生成鏡像,最后在docker容器內運行正常沒報錯。但還有一點,docker的hosts文件時run之后才動態生成,不能提前預設(內部包括容器名稱地址映射,集群dns映射等),但考慮到生產環境部署在k8s,k8s能動態注入hosts,調整dns策略等,所以dns問題解決相對輕松。

參考

很全的一篇講解關於https與java中調用原理與實現的文章:http://www.aneasystone.com/archives/2016/04/java-and-https.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM