Служба 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-злучэння.
Пасля выпраўлення доступу паўтарыце праверку з кантэксту службы. Паспяховая каманда ў тэрмінале застаецца карысным параўнаннем, але не даказвае, якія файлы бачыць служба і якую канфігурацыю даверу выкарыстоўвае яе кліент.