#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/