LetsEncrypt కాకుండా ACME సర్వర్‌లతో నిర్జలీకరణ సమస్యలకు కారణం కనుగొనబడింది

సెబాస్టియన్ క్రాస్ నిర్ణయించారు సేవతో వింత అననుకూలత యొక్క మూలం బైపాస్ స్క్రిప్ట్ నిర్జలీకరణం, ACME ప్రోటోకాల్‌ని ఉపయోగించి TLS సర్టిఫికెట్‌ల రసీదుని ఆటోమేట్ చేయడానికి ఉపయోగిస్తారు. రిఫరెన్స్ క్లయింట్ మరియు uacme రెండూ బైపాస్‌తో పని చేస్తాయి, కానీ డీహైడ్రేట్ చేయబడలేదు (మరింత ఖచ్చితంగా, ఇది కొన్ని పరిష్కారాలతో పని చేస్తుంది, కానీ ప్రత్యేకంగా dns-1 మోడ్‌లో).

కారణం చిన్నవిషయం అని తేలింది: JSON ఆకృతిలో ప్రతిస్పందనను వాస్తవంగా అన్వయించడానికి బదులుగా, డీహైడ్రేటెడ్ రచయిత లెట్స్ ఎన్‌క్రిప్ట్ సేవ నుండి నిర్దిష్ట JSON అవుట్‌పుట్ యొక్క ఫార్మాటింగ్ లక్షణాన్ని ఉపయోగించారు మరియు సాధారణ వ్యక్తీకరణను ఉపయోగించి అన్వయించారు. కానీ బైపాస్ అందంగా ఫార్మాట్ చేయబడలేదు, కానీ JSON మరియు ఉపయోగించిన వాటిని కనిష్టీకరించింది సాధారణ వ్యక్తీకరణ పని చేయలేదు. అధికారిక ప్రోటోకాల్ ఫ్రేమ్‌వర్క్‌లో పూర్తిగా ఉంటూనే, ఈ సేవ భవిష్యత్తులో హెచ్చరిక లేకుండా జారీ చేసే ఆకృతిని మార్చినట్లయితే, ఈ విధానం LetsEncryptతో సమస్యలను మినహాయించదు.

సమస్యను చర్చిస్తున్నప్పుడు, బాహ్య JSON పార్సర్‌ని ఉపయోగించమని సూచించబడింది json_pp లేదా jq (సరైన అన్వయించడం కోసం పైప్‌కి 'jq -r ".ఆథరైజేషన్స్ | .[]"' జోడించండి).
ఈ విధానం యొక్క ప్రతికూలత ఏమిటంటే, కనిష్ట మరియు సులభంగా ధృవీకరించదగిన మార్గాలను ఉపయోగించాలనే ఆలోచనను పలుచన చేయడం, అలాగే లోపం నిర్వహణలో సమస్యలు.

నిర్జలీకరణ ప్రాజెక్ట్ రచయిత (ప్రాజెక్ట్ ఇటీవల విక్రయించబడింది Apilayer GmbH) అంగీకరించారు, JSONని అన్వయించడం పెద్ద సమస్య, కానీ అతను బాహ్య పార్సర్‌లను జోడించడం మంచి ఆలోచనగా పరిగణించడు, ఎందుకంటే స్క్రిప్ట్ యొక్క ముఖ్య ప్రయోజనాల్లో ఒకటి బాహ్య డిపెండెన్సీలకు కట్టుబడి ఉండకపోవడం. అతను ప్రస్తుతం బిజీగా ఉన్నాడు, అయితే రాబోయే కొద్ది రోజుల్లో సమస్యను పరిష్కరించడంపై తన దృష్టిని కేటాయించాలని భావిస్తున్నాడు. ప్లాన్‌లలో JSON పార్సర్‌ని మళ్లీ పని చేయడం లేదా షెల్ భాషలో రెడీమేడ్ పార్సర్‌ని ఇంటిగ్రేట్ చేయడం వంటివి ఉన్నాయి - JSON.sh.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి