Našel je vzrok za dehidrirane težave s strežniki ACME, ki niso LetsEncrypt

Sebastian Krause odločen vir čudne nezdružljivosti s storitvijo Obvoznica scenarij dehidriran, ki se uporablja za avtomatizacijo prejemanja potrdil TLS z uporabo protokola ACME. Tako referenčni odjemalec kot uacme delujeta z Bypassom, vendar ne dehidrirano (natančneje, delovalo je tudi z nekaterimi rešitvami, vendar izključno v načinu dns-1).

Razlog se je izkazal za nepomembnega: namesto da bi resnično razčlenil odgovor v formatu JSON, je avtor dehydrated uporabil funkcijo oblikovanja določenega izhoda JSON storitve Let's Encrypt in ga razčlenil z uporabo regularnega izraza. Vendar Bypass ne vrne lepo oblikovanega, ampak pomanjšanega JSON in uporabljenega vsakdanje izražanje ni delovalo. Ta pristop ne izključuje težav z LetsEncrypt, če ta storitev v prihodnosti brez opozorila spremeni obliko izdaje, pri čemer ostane popolnoma v okviru uradnega protokola.

Pri razpravi o problemu je bila predlagana uporaba zunanjega razčlenjevalnika JSON, kot je npr json_pp ali jq (dodajte 'jq -r ".authorizations | .[]"' v cev za pravilno razčlenjevanje).
Pomanjkljivost tega pristopa je razvodenitev ideje o uporabi minimalnih in lahko preverljivih sredstev ter težave pri obravnavanju napak.

Avtor dehidriranega projekta (projekt je bil pred kratkim razprodano Apilayer GmbH) dogovorjeno, da je razčlenjevanje JSON velika težava, vendar se mu dodajanje zunanjih razčlenjevalcev ne zdi dobra ideja, saj je ena od ključnih prednosti skripta pomanjkanje vezave na zunanje odvisnosti. Trenutno je zaposlen, vendar upa, da se bo v naslednjih dneh posvetil rešitvi problema. Načrti vključujejo predelavo razčlenjevalnika JSON ali integracijo že pripravljenega razčlenjevalnika v lupinskem jeziku - JSON.sh.

Vir: opennet.ru

Dodaj komentar