ウィジェットバックグラウンドk 8 sクラスタ導入で発生したrequest:fail ssl hand shake error問題


最近会社の1つの小さいプログラムのバックグラウンドの開発を担当して、テスト環境はすべて正常で、オンラインになってからフロントエンドのいくつかの同僚と試用して、同じく正常に運行します.しかし、ある同僚はアンドロイドでウィジェットを開くと理由もなく死んでしまうと反映しており、debugモードが開くと、ssl tcpをオンラインに接続するために握手する際にエラーが発生したことが分かった.
余談ですが、バックグラウンドでjavaを使用しているため、証明書の中間機構が新しいため、pkix path building failed問題を解決する必要があります.前に書いた:1.PKIX path building failedを解決する:https://blog.csdn.net/u013753225/article/details/80259601 関連リンク:1.「PKIX path building failed」の問題を徹底的に理解する:https://www.cnblogs.com/huqiaoblog/p/8398009.html 2.JavaとHTTPのこと(四)HTTPSと証明書:http://www.aneasystone.com/archives/2016/04/java-and-https.html
k 8 sコンテナ編成技術はコンテナ化技術サポートが必要であり、その後docker execを使用して新しいコンテナを起動し、keytoolコマンドで新しいミラーに再commitし、dockerミラー内のjvmが新しい証明書機構と互換性を持つ目的を達成する.pkix path building failed問題を完璧に解決します.
握手の問題が見つかった後、ingress controller関連tls構成を最初に調べました.https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/tls.mdああ、文の中で少し注意を引いた.
nginx-ingress defaults to using TLS 1.2 only and a secure set of TLS ciphers.
For instance, TLS 1.1+ is only enabled by default from Android 5.0 on. At the time of writing, May 2018, approximately 15% of Android devices are not compatible with nginx-ingress's default configuration.

15%のアンドロイドはデフォルトのtls構成に互換性がなく、メンテナンスが変更された後も握手の問題があることが分かった.
1.request:failエラー(httpsソリューションを含む):https://blog.csdn.net/qq_27626333/article/details/536335564 2.中間証明書の書き方:https://github.com/kubernetes/kubernetes/issues/24669 3.中間証明書構成ガイド:ssl証明書によるWebサイトの検出:https://gist.github.com/bprashanth/176c76b8f713a1e88bfcff532fd1a5da
いくつかの手がかりを見つけて、ssl証明書を通じてウェブサイトを検出します:https://www.ssllabs.com/ssltest/analyze.htmlを選択すると、確かなサイトの証明書チェーンが不完全であることが確認されるので、証明書チェーンを運転次元に再生成し、k 8 sウィジェットアプリケーションのSecretを再生成した後、エラーは基本的に解決されます.しばらく異常は見つからなかった.
ここでは、合成証明書を自動的に生成する別のツールを推奨します.https://www.myssl.cn/tools/downloadchain.html