Ошибка: twisted.internet.error.ConnectError: Произошла ошибка при подключении: 2: Нет такого файла или каталога

Вопрос или проблема

sudo landscape-config --computer-title "My Web Server" --account-name standalone  -p 8965752286 --url https://server.local/message-system
--ping-url http://server.local/ping

2024-07-13 10:31:43,827 ERROR [PoolThread-twisted.internet.reactor-0] Ошибка при подключении к серверу по адресу https://server.local/message-system.
Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/landscape/lib/fetch.py”, line 116, in fetch
curl.perform()
pycurl.error: (77, ”)

Во время обработки вышеупомянутого исключения произошло еще одно исключение:

Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/landscape/client/broker/transport.py”, line 81, in exchange
curly, data = self._curl(spayload, computer_id, exchange_token,
File “/usr/lib/python3/dist-packages/landscape/client/broker/transport.py”, line 55, in _curl
return (curl, fetch(self._url, post=True, data=payload,
File “/usr/lib/python3/dist-packages/landscape/lib/fetch.py”, line 118, in fetch
raise PyCurlError(e.args[0], e.args[1])
landscape.lib.fetch.PyCurlError: Ошибка 77:

Traceback (most recent call last):
Failure: twisted.internet.error.ConnectError: Произошла ошибка во время подключения: 2: Нет такого файла или каталога.

ping server.local
PING server.local (10.213.3.106) 56(84) байт данных.
64 байта от server.local (10.213.3.106): icmp_seq=1 ttl=63 время=0.707 мс
64 байта от server.local (10.213.3.106): icmp_seq=2 ttl=63 время=0.741 мс
64 байта от server.local (10.213.3.106): icmp_seq=3 ttl=63 время=0.765 мс

Выпуски Landscape On Premises
Доступны следующие выпуски Landscape On Premises:

24.04 (установлен)

Уважаемая команда, пожалуйста, помогите решить проблему с подключением. Какие логи необходимо предоставить?

Ответ или решение

Ошибка, которую вы видите, связана с проблемой при попытке подключиться к серверу через URL-адрес, указанной в команде конфигурации Landscape. Проблема проявляется при вызове функции fetch из модуля landscape.lib.fetch, которая вызывает метод perform() из библиотеки pycurl. Код ошибки (77, '') указывает на проблему, связанную с сертификатами SSL/TLS. Давайте рассмотрим данную ситуацию подробнее и предложим пути решения.

Теоретическая часть

Ошибка pycurl.error: (77, '') часто ассоциируется с проблемами при верификации SSL-сертификатов. Это может быть связано с несколькими факторами:

  1. Проблемы с сертификатами: Возможно, сертификаты SSL/TLS не доверенные, недоступные или неправильно установлены. PycURL требует, чтобы сертификаты были доступны и удостоверены.

  2. Неправильная конфигурация: В пути до файлов сертификатов указаны неправильные директории, или сами файлы сертификатов пережаты.

  3. Недоступная или неправильно настроенная директория сертификатов: Кейсы, когда директория с сертификатами недоступна или выставлены неверные права доступа.

Пример

В примере приведенной ошибки обратим внимание на следующие строки:

  • Вызов ошибки в файле fetch.py:

    curl.perform()
  • Упомянутая landscape.lib.fetch.PyCurlError: Error 77 указывает на сбой при обработке SSL.

  • Пинг на server.local проходит успешно, что исключает проблемы с сетью между клиентом и сервером, по крайней мере по ICMP-протоколу.

Применение

Теперь, чтобы устранить проблему, нужно:

  1. Проверить SSL-сертификаты:

    • Убедитесь, что SSL-сертификат для https://server.local/message-system корректен и удостоверен.
    • Можете использовать команду openssl для проверки:
      openssl s_client -connect server.local:443
    • Проверьте также цепочку сертификатов на корректность.
  2. Проверить конфигурацию PycURL:

    • Убедитесь, что PycURL правильно настроен для использования ваших системных сертификатов.
    • Возможно, вам нужно указать правильный сертификат вручную в настройках PycURL. Это может быть сделано через опцию --cacert или --capath.
  3. Проверить доступность и права на сертификаты:

    • Убедитесь, что директория с сертификатами и сами файлы доступны для чтения процессом, который выполняет команду landscape-config.
  4. Логирование и отладка:

    • Включите более подробное логирование в вашем коде или приложении, чтобы получить больше информации о проблеме.
    • Посмотрите в системные и приложенческие логи для поиска любых других ошибочных сообщений или предупреждений, которые могли возникнуть до или после сбоя.

Заключение

Информация, упомянутая выше, охватывает различные аспекты проблемы с сертификатами, которая часто встречается при работе с SSL и PycURL в контексте отладки сетевых подключений. Убедитесь, что все настройки и директории тщательно проверены, и SSL-сертификаты установлены корректно. Если проблема сохраняется, возможно, стоит рассмотреть обновление или переустановку соответствующих библиотек или даже провести консультацию с системными администраторами, которые могут помочь в установке и конфигурации SSL-сертификатов.

Оцените материал
Добавить комментарий

Капча загружается...