あるフリーランスエンジニアの色んなメモ!! ITスキル・ライフハックとか

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名
comments powered by Disqus