Искусственный 7.Ошибка прокси-сервера x — pypi

#python #pip #artifactory #pypi

Вопрос:

У меня есть локальный репозиторий Pypi с простой компоновкой по умолчанию. Ему предоставлен анонимный доступ для чтения. Я использую этот репозиторий для хранения своих библиотек. После обновления с Artifactory 6.x до 7.x невозможно установить какую-либо библиотеку с помощью pip; она работала в 6.x. На pip install my-python-lib :

 Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after 
connection broken by 'ReadTimeoutError("HTTPConnectionPool(host='host', port=8081): 
Read timed out. (read timeout=30.0)")': /artifactory/api/pypi/my-python-repo/simple/my-python-lib/

Could not install packages due to an EnvironmentError: HTTPConnectionPool(host='host', port=8081): 
Max retries exceeded with url: /artifactory/api/pypi/my-python-repo/simple/my-python-lib/ (Caused by 
ReadTimeoutError("HTTPConnectionPool(host='host', port=8081): Read timed out. (read timeout=30.0)"))
 

Установка дольше --default-timeout также не работает.

Когда я пытаюсь открыть host/artifactory/api/pypi/my-python-repo/simple/my-python-lib/ в браузере, он возвращает следующую ошибку (примерно через 2 минуты):

502 Ошибка прокси-сервера Прокси-сервер получил неверный ответ от вышестоящего сервера. Прокси-сервер не смог обработать запрос GET /artifactory/api/pypi/my-python-repo/simple/my-python-lib/. Причина: Ошибка чтения с удаленного сервера

Комментарии:

1. Я нашел обходной путь для этой проблемы. --default-timeout опция устарела и в настоящее --timeout время должна использоваться. Таким образом, я запускаю установку. Проблема, вероятно, связана с неправильной настройкой tomcat на искусственной машине. Буду продолжать копать и делиться результатами.

Ответ №1:

Похоже, что обратный прокси-сервер(Nginx или HTTPD) настроен поверх Artifactory, а Artifactory 7.x имеет другую конфигурацию по сравнению с Artifactory 6.x. Я бы рекомендовал обратиться к этой статье KB для получения дополнительной информации.

Комментарии:

1. Спасибо за ответ. Я думал о том же, поэтому я настроил свой pip.conf для обхода обратного прокси-сервера, используя прямой адрес для экземпляра artifactory. Это тоже не помогло.

2. что происходит, когда вы запускаете Art_IP:8082/artifactory/api/pypi/my-python-repo/простой/ через браузер? И поскольку вы обошли обратный прокси-сервер, являются ли ошибки одинаковыми или отображается другая ошибка?

3. С помощью браузера я могу открыть Art_IP:8082/artifactory/api/pypi/my-python-repo/просто/ мгновенно. Однако, если я перейду на Art_IP:8082/artifactory/api/pypi/my-python-repo/simple/my-python-lib/, я получу ошибку 502. Иногда он возвращает всю развернутую версию, но в большинстве случаев я получаю ошибку прокси 502.

4. следите за искусственным сервисом. журнал и искусственный запрос. войдите в систему и запустите Art_IP:8082/artifactory/api/pypi/my-python-repo/simple/my-python-lib/ и проверьте, не напечатано ли там что-нибудь, обычно там должна быть ошибка или предупреждение. Пожалуйста, поделитесь этим здесь