nginx 1.17.9 మరియు njs 0.3.9 విడుదల

ఏర్పడింది మాస్టర్ బ్రాంచ్ విడుదల nginx 1.17.9, ఇందులోనే కొత్త ఫీచర్ల అభివృద్ధి కొనసాగుతుంది (సమాంతర మద్దతు ఉన్న స్థిరత్వంలో శాఖ 1.16 తీవ్రమైన లోపాలు మరియు దుర్బలత్వాల తొలగింపుకు సంబంధించిన మార్పులు మాత్రమే చేయబడతాయి).

ప్రధాన మార్పులు:

  • బహుళ "హోస్ట్" లైన్‌లను పేర్కొనడం నిషేధించబడింది
    అభ్యర్థన శీర్షిక;

  • nginx అదనపు లైన్‌లను విస్మరించిన బగ్ పరిష్కరించబడింది
    అభ్యర్థన శీర్షికలో "బదిలీ-ఎన్కోడింగ్";

  • HTTP/2 ప్రోటోకాల్‌ను ఉపయోగిస్తున్నప్పుడు సాకెట్ లీక్‌లను నిరోధించడానికి పరిష్కారాలు చేయబడ్డాయి;
  • OCSP స్టెప్లింగ్‌ని ఉపయోగిస్తున్నప్పుడు సంభవించే వర్కర్ ప్రాసెస్‌లో సెగ్మెంటేషన్ లోపం పరిష్కరించబడింది;
  • ngx_http_mp4_module మాడ్యూల్‌కు సవరణలు చేయబడ్డాయి;
  • 'error_page' డైరెక్టివ్‌ని ఉపయోగించి కోడ్ 494తో లోపాలను దారి మళ్లించేటప్పుడు, 494కి బదులుగా కోడ్ 400తో ప్రతిస్పందనను అందించగలిగే సందర్భాల్లో సమస్య పరిష్కరించబడింది;
  • njs మాడ్యూల్ మరియు aio డైరెక్టివ్‌లో సబ్‌క్వెరీలను ఉపయోగిస్తున్నప్పుడు స్థిర సాకెట్ లీక్‌లు.

అదనంగా, ఇది గమనించవచ్చు విడుదల njs 0.3.9, nginx వెబ్ సర్వర్ కోసం JavaScript ఇంటర్‌ప్రెటర్. njs వ్యాఖ్యాత ECMAScript ప్రమాణాలను అమలు చేస్తుంది మరియు కాన్ఫిగరేషన్‌లోని స్క్రిప్ట్‌లను ఉపయోగించి అభ్యర్థనలను ప్రాసెస్ చేయడానికి nginx సామర్థ్యాన్ని విస్తరించడానికి మిమ్మల్ని అనుమతిస్తుంది. అభ్యర్థనలను ప్రాసెస్ చేయడం, కాన్ఫిగరేషన్‌ను రూపొందించడం, ప్రతిస్పందనను డైనమిక్‌గా రూపొందించడం, అభ్యర్థన/ప్రతిస్పందనను సవరించడం లేదా వెబ్ అప్లికేషన్‌లలో సమస్యలను పరిష్కరించడానికి త్వరగా స్టబ్‌లను సృష్టించడం కోసం అధునాతన లాజిక్‌ను నిర్వచించడానికి స్క్రిప్ట్‌లను కాన్ఫిగరేషన్ ఫైల్‌లో ఉపయోగించవచ్చు.

కొత్త విడుదలలో, njs మాడ్యూల్ r.subrequest()లో డిటాచ్డ్ రిక్వెస్ట్ మోడ్‌కు మద్దతును జోడించింది. డిటాచ్డ్ సబ్‌క్వెరీలకు ప్రత్యుత్తరాలు విస్మరించబడతాయి. సాధారణ సబ్‌క్వెరీల వలె కాకుండా, వేరియబుల్ హ్యాండ్లర్ లోపల వేరు చేయబడిన సబ్‌క్వెరీని సృష్టించవచ్చు. ఇంకా:

  • "fs" మాడ్యూల్ కోసం API వాగ్దానాలు జోడించబడ్డాయి;
  • విధులు యాక్సెస్(), సిమ్‌లింక్(), అన్‌లింక్(), “fs” మాడ్యూల్‌కు జోడించబడ్డాయి.
    రియల్‌పాత్ () మరియు ఇలాంటి;

  • మెమరీ వినియోగం పరంగా సమర్థవంతమైన సాధారణ శ్రేణులు ప్రవేశపెట్టబడ్డాయి;
  • లెక్సర్‌కు మెరుగుదలలు చేయబడ్డాయి;
  • బ్యాక్‌ట్రేస్‌లలో స్థానిక ఫంక్షన్‌ల మ్యాపింగ్‌కు పరిష్కారం చేయబడింది.
    జాడలు;

  • "fs" మాడ్యూల్‌లో స్థిర కాల్‌బ్యాక్ కాల్‌లు;
  • Object.getOwnPropertySymbols()కి దిద్దుబాట్లు చేయబడ్డాయి;
  • njs_json_append_string()లో స్థిర హీప్ బఫర్ ఓవర్‌ఫ్లో;
  • స్పెసిఫికేషన్‌కు అనుగుణంగా స్థిర ఎన్‌కోడ్యుఆర్‌ఐ() మరియు డీకోడ్యుఆర్‌ఐ();
  • Number.prototype.toPrecision()కి పరిష్కారం చేయబడింది;
  • JSON.stringify()లో స్పేస్ ఆర్గ్యుమెంట్ యొక్క స్థిర నిర్వహణ;
  • సంఖ్య() మరియు స్ట్రింగ్() ఆబ్జెక్ట్‌లతో JSON.stringify()కి పరిష్కరించబడింది;
  • JSON.stringify() ప్రకారం యూనికోడ్ అక్షరాలు తప్పించుకునే అవకాశం అందించబడింది
    వివరణతో;

  • స్థానికేతర మాడ్యూళ్ల దిగుమతికి పరిష్కారం చేయబడింది;
  • కంటైనర్‌లో తేదీ() ఉదాహరణతో njs.dump()కి పరిష్కారం చేయబడింది.

మూలం: opennet.ru

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