Служба systemd досягає проксі, але не його CA-файлу
Перевірте файловий доступ користувача служби та обмеження systemd, якщо налаштування сертифіката проксі працює лише в інтерактивній оболонці.
Ви встановили схвалений CA-набір, і запит працює в терміналі. Служба далі повідомляє про помилку завантаження сертифіката. Перш ніж міняти IP проксі, перевірте, чи цей процес може відкрити той самий файл.
Служба може працювати від іншого користувача Unix, запускатися в іншому каталозі або бачити обмежену файлову систему. Шлях, придатний для вашого входу, не обов’язково придатний їй.
Почніть з абсолютного шляху
Перевірте шлях у фактичному клієнті. Наприклад, у curl --cacert обирає CA-набір призначення; для HTTPS-проксі є окремі опції CA проксі. Інші клієнти використовують власні ключі конфігурації чи змінні середовища.
Дослідіть файл і каталоги на шляху до нього:
namei -l /home/alex/certs/approved-ca.pem
systemctl show example.service -p User -p Group -p ProtectHome -p RootDirectory
Це діагностичні приклади, а не вказівка зробити файл доступним на запис усім. Права проходу каталогами важливі не менше, ніж читання кінцевого файлу.
Проблема може бути не лише в дозволах
З ProtectHome=yes systemd робить стандартні розташування домашніх каталогів недоступними службі. Зміна режиму файлу сертифіката не знімає обмеження простору імен. Налаштований кореневий каталог теж може змінити значення абсолютного шляху всередині служби.
Використовуйте відповідне місце конфігурації служби, наприклад призначений застосунку каталог під /etc, і дайте лише потрібне читання. Оновіть CA-шлях клієнта. Не прибирайте сторонні обмеження файлової системи лише тому, що перша копія була у вашому домашньому каталозі.
Читайте першу корисну помилку
«Не вдається завантажити CA-файл» і «ланцюжок сертифікатів не довірений» — різні збої. Перший можливий до будь-якої перевірки. Другий може означати, що доступний для читання набір містить не той центр сертифікації або застосовується не до того TLS-з’єднання.
Після виправлення доступу повторіть перевірку з контексту служби. Успішна команда в терміналі лишається корисним порівнянням, але не доводить, які файли бачить служба та яку конфігурацію довіри використовує її клієнт.