Вопрос или проблема
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-сертификатов. Это может быть связано с несколькими факторами:
-
Проблемы с сертификатами: Возможно, сертификаты SSL/TLS не доверенные, недоступные или неправильно установлены. PycURL требует, чтобы сертификаты были доступны и удостоверены.
-
Неправильная конфигурация: В пути до файлов сертификатов указаны неправильные директории, или сами файлы сертификатов пережаты.
-
Недоступная или неправильно настроенная директория сертификатов: Кейсы, когда директория с сертификатами недоступна или выставлены неверные права доступа.
Пример
В примере приведенной ошибки обратим внимание на следующие строки:
-
Вызов ошибки в файле
fetch.py
:curl.perform()
-
Упомянутая
landscape.lib.fetch.PyCurlError: Error 77
указывает на сбой при обработке SSL. -
Пинг на
server.local
проходит успешно, что исключает проблемы с сетью между клиентом и сервером, по крайней мере по ICMP-протоколу.
Применение
Теперь, чтобы устранить проблему, нужно:
-
Проверить SSL-сертификаты:
- Убедитесь, что SSL-сертификат для
https://server.local/message-system
корректен и удостоверен. - Можете использовать команду
openssl
для проверки:openssl s_client -connect server.local:443
- Проверьте также цепочку сертификатов на корректность.
- Убедитесь, что SSL-сертификат для
-
Проверить конфигурацию PycURL:
- Убедитесь, что PycURL правильно настроен для использования ваших системных сертификатов.
- Возможно, вам нужно указать правильный сертификат вручную в настройках PycURL. Это может быть сделано через опцию
--cacert
или--capath
.
-
Проверить доступность и права на сертификаты:
- Убедитесь, что директория с сертификатами и сами файлы доступны для чтения процессом, который выполняет команду
landscape-config
.
- Убедитесь, что директория с сертификатами и сами файлы доступны для чтения процессом, который выполняет команду
-
Логирование и отладка:
- Включите более подробное логирование в вашем коде или приложении, чтобы получить больше информации о проблеме.
- Посмотрите в системные и приложенческие логи для поиска любых других ошибочных сообщений или предупреждений, которые могли возникнуть до или после сбоя.
Заключение
Информация, упомянутая выше, охватывает различные аспекты проблемы с сертификатами, которая часто встречается при работе с SSL и PycURL в контексте отладки сетевых подключений. Убедитесь, что все настройки и директории тщательно проверены, и SSL-сертификаты установлены корректно. Если проблема сохраняется, возможно, стоит рассмотреть обновление или переустановку соответствующих библиотек или даже провести консультацию с системными администраторами, которые могут помочь в установке и конфигурации SSL-сертификатов.