systemd tarnyba pasiekia tarpinį serverį, bet ne CA failą
Patikrinkite tarnybos naudotojo failų prieigą ir systemd failų sistemos ribojimus, jei sertifikato sąranka veikia tik interaktyviame apvalkale.
Įdiegėte patvirtintą CA paketą ir užklausa veikia terminale. Tarnyba vis tiek praneša apie sertifikato įkėlimo klaidą. Prieš keisdami tarpinio serverio IP patikrinkite, ar procesas gali atverti tą patį failą.
Tarnyba gali veikti kaip kitas Unix naudotojas, pradėti kitame kataloge ar matyti ribotą failų sistemą. Jūsų prisijungimui tinkamas kelias nėra automatiškai tinkamas jai.
Pradėkite nuo absoliučiojo kelio
Patikrinkite tikrame kliente nustatytą kelią. Pavyzdžiui, curl --cacert parenka paskirties CA paketą; HTTPS tarpinis serveris turi atskiras tarpinio serverio CA parinktis. Kiti klientai naudoja savo konfigūracijos raktus ar aplinkos kintamuosius.
Patikrinkite failą ir katalogus, vedančius iki jo:
namei -l /home/alex/certs/approved-ca.pem
systemctl show example.service -p User -p Group -p ProtectHome -p RootDirectory
Tai diagnostiniai pavyzdžiai, o ne nurodymai leisti visiems rašyti į failą. Katalogų perėjimo teisės svarbios tiek pat, kiek galutinio failo skaitymas.
Leidimai gali būti ne visa problema
Su ProtectHome=yes systemd padaro standartines namų katalogų vietas tarnybai neprieinamas. Sertifikato failo režimo pakeitimas nepanaikina vardų srities ribojimo. Nustatytas šakninis katalogas taip pat gali pakeisti, ką absoliutusis kelias reiškia tarnybos viduje.
Naudokite tinkamą tarnybos konfigūracijos vietą, pavyzdžiui, programai skirtą katalogą po /etc, ir suteikite tik būtiną skaitymą. Atnaujinkite kliento CA kelią. Nešalinkite nesusijusių failų sistemos ribojimų vien todėl, kad pirmoji kopija buvo jūsų asmeniniame namų kataloge.
Skaitykite pirmą naudingą klaidą
«Nepavyksta įkelti CA failo» ir «sertifikatų grandinė nepatikima» yra skirtingos klaidos. Pirmoji gali kilti prieš bet kokią patikrą. Antroji gali reikšti, kad perskaitomame pakete yra netinkama sertifikavimo institucija arba jis taikomas netinkamam TLS ryšiui.
Pataisę prieigą bandykite iš naujo tarnybos kontekste. Sėkminga terminalo komanda vis dar naudinga palyginimui, bet neįrodo, kuriuos failus tarnyba mato ar kokią pasitikėjimo konfigūraciją naudoja jos klientas.