Репозиторий Nexus с TLS: conda не работает

#https #conda #nexus3

#https #conda #nexus3

Вопрос:

Я установил репозиторий Nexus на внутренний сервер (Windows) и заставил его работать так, как ожидалось от моего ноутбука (Windows). Затем я включил TLS / https в соответствии с этим руководством от самих sonatype, используя самозаверяющий сертификат. Я могу подключиться к менеджеру репозитория с помощью https, и он работает нормально.

Сертификат был создан в соответствии с этим руководством также из sonatype. Из этого я отправляю свой файл nexus.pem. Согласно документам conda, я добавил этот файл в переменную среды REQUESTS_CA_BUNDLE.

Затем я настроил конфигурацию conda и pip для подключения к nexus с использованием https. Однако, несмотря на то, что 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
 

Тогда это работает. Но это не совсем то, чего я хочу.

Ответ №1:

Я могу искать и пытаться решать проблемы часами и через несколько минут после публикации здесь я нахожу решение. Происходит слишком часто, ага.

Проще говоря, ошибка была моей собственной ошибкой. Самозаверяющий сертификат был проблемой example.mycompany.com , но в .condarc файле я вставил ссылки на канал, используя только псевдоним, например https://example/repository/anaconda-proxy/main/ , вместо полного имени хоста, например https://example.mycompany.com/repository/anaconda-proxy/main/