微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有 TLS 的 Nexus 存储库:conda 不起作用

如何解决带有 TLS 的 Nexus 存储库:conda 不起作用

我已经在内部服务器 (Windows) 上安装了 Nexus 存储库,并在我的笔记本电脑 (Windows) 上按预期工作。然后我根据 this guide 使用自签名证书从 sonatype 自己启用了 TLS/https。我可以使用 https 连接到存储库管理器,并且工作正常。

证书是在 this guide 之后创建的,也来自 sonatype。从那我去我的 nexus.pem 文件。根据 conda docs,我将该文件添加到环境变量 REQUESTS_CA_BUNDLE。

然后我调整了我的 conda 和 pip 配置以使用 https 连接到 nexus。然而,即使 https 在浏览器中工作,当我尝试使用 conda 安装任何东西时,我还是收到了 HTTPError:

CondaHTTPError: HTTP 000 CONNECTION Failed for url <https://myserver.com:8443/repository/anaconda-proxy/main/win-64/repodata.json>
Elapsed: -

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent,and a simple retry will get you on your way.
'https://myserver.com:8443/repository/anaconda-proxy/main/win-64'

我可以将错误中的链接复制并粘贴到我的浏览器中,并且效果很好。因此,我唯一的解释是 ssl 证书存在问题,但错误并未显示可能是什么问题。

我怎样才能得到更有意义的错误?或者我该如何解决这个问题?

编辑:

确实是证书的问题。如果我删除 REQUESTS_CA_BUNDLE 并设置

conda config --set ssl_verify False

然后就可以了。但这并不是我真正想要的。

解决方法

在这里发布后,我可以搜索并尝试解决数小时和几分钟的问题,我找到了解决方案。发生得太频繁了,嗯。

简单地说,错误是我自己的错。自签名证书是 example.mycompany.com 的问题,但在 .condarc 文件中,我仅使用别名(例如 https://example/repository/anaconda-proxy/main/)而不是完整的主机名(例如 {{1})添加了指向频道的链接}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。