Nexus:SSLHandshakeException: Received fatal alert: handshake_failure
事象
pipでNexusのpypi proxy repositoryにアクセスしようとするとNexusで以下のようなエラーが発生した
2018-05-25 22:53:18,046+0900 WARN [qtp182819794-162] *UNKNOWN org.sonatype.nexus.repository.pypi.internal.PyPiProxyFacetImpl - Exception javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure checking remote for update, proxy repo pypi-central failed to fetch packages/7f/e1/820d941153923aac1d49d7fc37e17b6e73bfbd2904959fffbad77900cf92/setuptools-39.2.0-py2.py3-none-any.whl, content not in cache.
原因
Subject Alt Nameが正しくないサーバー証明書を使用しているNexusからのアクセスをpypiが弾いたと思われる
対策
- 自己署名証明書を使用しているNexusでpypiのproxy repositoryを使用しない
- Nexusはprivate repositoryのみの運用とする
- pip.confのtrusted-hostにNexusを設定する
- pip.confのextra-index-urlにNexusを設定する
pip.conf設定例
[global]
trusted-host = Nexusのhost名
extra-index-url = http://Nexusのhost名