{"id":72825,"date":"2020-03-04T14:42:26","date_gmt":"2020-03-04T11:42:26","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-nginx-1-17-9-i-njs-0-3-9"},"modified":"2020-03-04T14:42:26","modified_gmt":"2020-03-04T11:42:26","slug":"vypusk-nginx-1-17-9-i-njs-0-3-9","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/vypusk-nginx-1-17-9-i-njs-0-3-9","title":{"rendered":"Lan\u00e7amento nginx 1.17.9 e njs 0.3.9.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"http:\/\/mailman.nginx.org\/pipermail\/nginx-announce\/2020\/000265.html\">Formado<\/a><\/noindex> lan\u00e7amento da ramifica\u00e7\u00e3o principal <noindex><a rel=\"nofollow\" href=\"http:\/\/nginx.org\">nginx 1.17.9<\/a><\/noindex>, no qual o desenvolvimento de novas funcionalidades continua (na ramifica\u00e7\u00e3o est\u00e1vel suportada paralelamente <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50561\">branch 1.16<\/a><\/noindex> s\u00e3o realizadas apenas mudan\u00e7as relacionadas \u00e0 corre\u00e7\u00e3o de erros cr\u00edticos e vulnerabilidades).<\/p>\n<p>Principais <noindex><a rel=\"nofollow\" href=\"http:\/\/nginx.org\/ru\/CHANGES.ru\">mudan\u00e7as<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> \u00c9 proibido especificar v\u00e1rias linhas de &#171;Host&#187; em<br \/>\n       cabe\u00e7alho da solicita\u00e7\u00e3o;<\/p>\n<li class=\"l\"> Corrigido um erro em que o nginx ignorava linhas adicionais<br \/>\n       &#171;Transfer-Encoding&#187; no cabe\u00e7alho da solicita\u00e7\u00e3o;<\/p>\n<li class=\"l\"> Corrigidos problemas que previnem vazamentos de soquetes ao usar o protocolo HTTP\/2;\n<li class=\"l\"> Eliminado o crash (segmentation fault) no processo de trabalho, que ocorria ao usar OCSP stapling;\n<li class=\"l\"> Corre\u00e7\u00f5es feitas no m\u00f3dulo ngx_http_mp4_module;\n<li class=\"l\"> Foi resolvido o problema em casos onde, ao redirecionar erros com c\u00f3digo 494 usando a diretiva &#8216;error_page&#8217;, uma resposta com c\u00f3digo 494 poderia ser retornada em vez de 400;\n<li class=\"l\"> Eliminados vazamentos de soquetes ao usar subconsultas no m\u00f3dulo njs e na diretiva aio.\n<\/ul>\n<p>Adicionalmente, pode-se destacar <noindex><a rel=\"nofollow\" href=\"http:\/\/mailman.nginx.org\/pipermail\/nginx-announce\/2020\/000266.html\">lan\u00e7amento<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"http:\/\/nginx.org\/en\/docs\/njs\/\">njs 0.3.9<\/a><\/noindex>, interpretador da linguagem JavaScript para o servidor web nginx. O interpretador njs implementa os padr\u00f5es ECMAScript e permite expandir as capacidades do nginx no processamento de solicita\u00e7\u00f5es atrav\u00e9s de scripts na configura\u00e7\u00e3o. Os scripts podem ser usados no arquivo de configura\u00e7\u00e3o para definir l\u00f3gica avan\u00e7ada de processamento de solicita\u00e7\u00f5es, forma\u00e7\u00e3o de configura\u00e7\u00e3o, gera\u00e7\u00e3o din\u00e2mica de respostas, modifica\u00e7\u00e3o de solicita\u00e7\u00f5es\/respostas ou cria\u00e7\u00e3o r\u00e1pida de stub para resolu\u00e7\u00e3o de problemas em aplicativos web. <\/p>\n<p>Na nova vers\u00e3o, o m\u00f3dulo njs &#8203;&#8203;adicionou suporte ao modo de requisi\u00e7\u00f5es desencadeadas em r.subrequest(). Respostas a subrequisi\u00e7\u00f5es desencadeadas s\u00e3o ignoradas. Ao contr\u00e1rio das subrequisi\u00e7\u00f5es normais, uma subrequisi\u00e7\u00e3o desencadeada pode ser criada dentro do manipulador de vari\u00e1vel. Al\u00e9m disso:<\/p>\n<ul>\n<li class=\"l\"> Adicionado API Promises ao m\u00f3dulo &#171;fs&#187;;\n<li class=\"l\"> No m\u00f3dulo &#171;fs&#187; foram adicionadas as fun\u00e7\u00f5es access(), symlink(), unlink(),<br \/>\n        realpath() e semelhantes adicionadas ao m\u00f3dulo 'fs';<\/p>\n<li class=\"l\"> Introduzidos arrays comuns que s\u00e3o eficientes em termos de consumo de mem\u00f3ria;\n<li class=\"l\"> Melhorias feitas no lexer;\n<li class=\"l\"> Corre\u00e7\u00e3o aplicada \u00e0 correspond\u00eancia de fun\u00e7\u00f5es nativas em rastreamentos (backtraces).<br \/>\ntrilhas;<\/p>\n<li class=\"l\"> Chamadas de callback corrigidas no m\u00f3dulo &#171;fs&#187;;\n<li class=\"l\"> Corre\u00e7\u00f5es feitas no Object.getOwnPropertySymbols();\n<li class=\"l\"> Eliminado o estouro de buffer de mem\u00f3ria din\u00e2mica em njs_json_append_string();\n<li class=\"l\"> Corre\u00e7\u00e3o em encodeURI() e decodeURI() de acordo com a especifica\u00e7\u00e3o;\n<li class=\"l\"> Corre\u00e7\u00e3o em Number.prototype.toPrecision();\n<li class=\"l\"> Corre\u00e7\u00e3o na manipula\u00e7\u00e3o do argumento de espa\u00e7o em JSON.stringify();\n<li class=\"l\"> Corre\u00e7\u00e3o em JSON.stringify() com objetos Number() e String();\n<li class=\"l\"> Assegurado o escape de caracteres Unicode em JSON.stringify() de acordo<br \/>\n         com a especifica\u00e7\u00e3o;<\/p>\n<li class=\"l\"> Corre\u00e7\u00e3o na importa\u00e7\u00e3o de m\u00f3dulos n\u00e3o nativos;\n<li class=\"l\"> Corre\u00e7\u00e3o em njs.dump() com uma inst\u00e2ncia Date() no cont\u00eainer.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52474\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 nginx 1.17.9, \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 (\u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0435 1.16 \u0432\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439). \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f: \u0417\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u0442\u0440\u043e\u043a &#171;Host&#187; \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430; \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 nginx \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043b \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 &#171;Transfer-Encoding&#187; \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430; \u0412\u043d\u0435\u0441\u0435\u043d\u044b \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u0435 \u0443\u0442\u0435\u0447\u043a\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-72825","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 nginx.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/news\/vypusk-nginx-1-17-9-i-njs-0-3-9\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a nginx 1.17.9 \u0438 njs 0.3.9 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 nginx.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/vypusk-nginx-1-17-9-i-njs-0-3-9\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-04T11:42:26+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-04T11:42:26+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lan\u00e7amento do nginx 1.17.9 e njs 0.3.9 | ProHoster","description":"Lan\u00e7amento da ramifica\u00e7\u00e3o principal do nginx.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/vypusk-nginx-1-17-9-i-njs-0-3-9","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a nginx 1.17.9 \u0438 njs 0.3.9 | ProHoster","og:description":"\u0421\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 nginx.","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/vypusk-nginx-1-17-9-i-njs-0-3-9","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-04T11:42:26+00:00","article:modified_time":"2020-03-04T11:42:26+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"72825","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:44:30","updated":"2022-10-06 00:06:10","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/72825","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=72825"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/72825\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=72825"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=72825"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=72825"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}