แแแแแแแแ nginx 1.19.7-แแก แแแแแแ แ แคแแแแแแ, แ แแแแแก แคแแ แแแแแจแแช แแ แซแแแแแแ แแฎแแแ แคแฃแแฅแชแแแแแก แแแแแแแแ แแแ (แแแ แแแแแฃแ แแ แแฎแแ แแแญแแ แแ แกแขแแแแแฃแ แคแแแแแแจแ 1.18, แแฎแแแแ แกแแ แแแแฃแแ แจแแชแแแแแแแกแ แแ แแแฃแชแแแแแแแก แแฆแแแคแฎแแ แแกแแแ แแแแแแจแแ แแแฃแแ แชแแแแแแแแแ แฎแแแแ).
แซแแ แแแแแ แชแแแแแแแแแ:
- แ แแแแกแแช แแฃแจแ แแ แแชแแกแก แแแแแฌแฃแ แแแ แแแแแกแฃแคแแแ แแแแจแแ แแแ, nginx แแฎแแ แฎแฃแ แแแก แแ แ แแฎแแแแ แจแแแแฎแฃแ แแแแจแแ แแแก, แแ แแแแ แแแแจแแ แแแกแแช, แ แแแแแแแช แแแแแแแ แกแแแแขแแก แแแฎแฃแ แแแก (โแแ แซแแแแแแแแแ แแแฎแฃแ แแโ).
- แแแแจแแ แแก แแแแฃแจแแแแแแก แแแแ HTTP/2-แจแ แแฎแแแกแแ HTTP/1.x แแแแฎแแ แชแแแแแแแกแแแ. แแแแแแแแฃแแแฃแ แ แแแ แแแแขแ แแแแก แแฎแแ แแแญแแ แ "http2_recv_timeout", "http2_idle_timeout" แแ "http2_max_requests" แจแแฌแงแแ แแแแแแ แแแ แแฅแขแแแแแแก "keepalive_timeout" แแ "keepalive_requests" แกแแกแแ แแแแแแ.
- แแแ แแแแขแ แแแ "http2_max_field_size" แแ "http2_max_header_size" แฌแแแจแแแ แแ แแแก แแแชแแแแ แฃแแแ แแงแแก แแแแแงแแแแแฃแแ "large_client_header_buffers".
แแแแแ แแ แแก, แแแแแแแแ njs 0.5.1, JavaScript แแแ แฏแแแแแ nginx แแแ แกแแ แแแ แแกแแแแก. njs แแแ แฏแแแแแ แแฎแแ แชแแแแแแก ECMAScript แกแขแแแแแ แขแแแก แแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแคแแ แแแแแ nginx-แแก แจแแกแแซแแแแแแแ, แแแแแฃแจแแแแก แแแแฎแแแแแแ แแแแคแแแฃแ แแชแแแก แกแแ แแแขแแแแก แแแแแงแแแแแแ. แกแแ แแแขแแแ แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แแแแคแแแฃแ แแชแแแก แคแแแแจแ, แ แแแ แแแแแกแแแฆแแ แแก แแแฌแแแแแ แแแแแแ แแแแฎแแแแแแแก แแแแฃแจแแแแแแกแแแแก, แแแแคแแแฃแ แแชแแแก แแแแแ แแ แแแแกแแแแก, แแแกแฃแฎแแก แแแแแแแฃแ แแ แแแแแ แแ แแแแกแแแแก, แแแแฎแแแแแก/แแแกแฃแฎแแก แจแแกแแชแแแแแแ แแ แแแ แแแแแแแชแแแแจแ แแ แแแแแแแแแก แแแแแกแแญแ แแแแ แกแฌแ แแคแแ แจแแกแแฅแแแแแแ.
แแฎแแ แแแ แกแแแก แแแแแแขแ แแแ แแฅแขแแแ โjs_header_filterโ, แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แแแแงแแแแ JavaScript แคแฃแแฅแชแแ แแแแแแแแฃแ แ แแแกแฃแฎแแแแก แกแแแแฃแ แแแแก แคแแแขแ แแชแแแกแ แแ แจแแชแแแแกแแแแก: js_import foo.js; แแแแแแ แแแแ / { js_header_filter foo.filter; proxy_pass http://127.0.0.1:8081/; } foo.js: แคแฃแแฅแชแแ filter(r) { var cookies = r.headersOut['Set-Cookie']; แแแ แแแ = แ .แแ แแก.แแแ ? แแแแแ แ(r.args.len) : 0; r.headersOut['Set-Cookie'] = cookies.filter(v=>v.length > len); } แแแแฃแแแกแฎแแแแ แแฅแกแแแ แขแ {แคแแแขแ แ};
แแกแแแ แแแแแขแแแฃแแแ ngx.fetch() แแแแแแ, แ แแแแแแช แแฎแแ แชแแแแแแก Fetch API-แก, แ แแแแแแช แฃแแ แฃแแแแแงแแคแก HTTP แแแแแแขแแก แคแฃแแฅแชแแแแแ แแแแก. แแแแแแ แแฎแแ แก แฃแญแแ แก แกแฎแแฃแแแก, แกแแแแฃแ แแแแก, แแฃแคแแ แฃแแ แแแแแก แแ max_response_body_size แแแ แแแแขแ แแแแก แแแแฃแจแแแแแแก. แแแแ แฃแแแแฃแแ Response แแแแแฅแขแ แแฎแแ แก แฃแญแแ แก arrayBuffer(), bodyUsed, json(), headers, ok, redirect, status, statusText, text(), แขแแแแก แแ url แแแแแแแแก, แฎแแแ Header แแแแแฅแขแ แแฎแแ แก แฃแญแแ แก get(), getAll() แแ has() แแแแแแแแ. แคแฃแแฅแชแแ fetch(r) { ngx.fetch('http://nginx.org/') .then(reply => reply.text()) .then(body => r.return(200, body)) .catch (e => r.return(501, e.message)); }
แแกแแแ แจแแแแซแแแแ แแฆแแแแจแแแก NGINX Unit 1.22 แแแแแแแชแแแก แกแแ แแแ แแก แแแแแฅแแแงแแแแ, แ แแแแแแช แแแแแแแแแ แแแแแฌแงแแแขแแก แแแ แแแแแแแชแแแแแก แแแจแแแแแกแแแแก แกแฎแแแแแกแฎแแ แแ แแแ แแแแ แแแแก แแแแแ (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js แแ Java). NGINX Unit-แก แจแแฃแซแแแ แแ แแแ แแฃแแแ แแแฃแจแแแก แแ แแแแแ แแแแแแแชแแ แกแฎแแแแแกแฎแแ แแ แแแ แแแแ แแแแก แแแแแ, แ แแแแแแ แแแจแแแแแก แแแ แแแแขแ แแแ แจแแแซแแแแ แจแแแชแแแแแก แแแแแแแฃแ แแ แแแแคแแแฃแ แแชแแแก แคแแแแแแแก แ แแแแฅแขแแ แแแแก แแ แแแแแขแแแ แแแแก แแแ แแจแ. แแแแ แแแฌแแ แแแแ C-แจแ แแ แแแฌแแแแแแ Apache 2.0 แแแชแแแแแแ.
NGINX Unit-แแก แแฎแแแ แแแแแจแแแแ แแ แแแแขแแ แแแฃแแแ แกแขแแแแแฃแ แแแแก แแแฃแแฏแแแแกแแแแแ, แขแแกแขแแ แแแแก แแแกแขแ แฃแแแแขแแแแก แแแคแแ แแแแแแแ แแ แจแแชแแแแแแแก แแแแแกแฌแแ แแแแแ. Linux-แแกแแแแก แแแแแ แแ แแแฃแ แแแแแขแแแจแ แจแแแชแแแแ แแแแฎแแแ แแแแแ แแ แฏแแฃแคแ, แ แแแแแก แแแฎแแแแแแแช แแฃแจแแแแก NGINX Unit. แแ แแแแ:แแ แแแแแแก แแแชแแแแ, แแ แแชแแกแแแ แแฎแแ แแแแแแแแ แแแแก แแแแแแแแฃแแแฃแ แ แแแแฎแแแ แแแแแก แแ แแแฃแแแก แฅแแแจ แแ แแแฃแแแแแก แฏแแฃแคแจแ. แฃแแ แฃแแแแแงแแคแแแแ Node.js แแแแฃแแแแแ ServerRequest แแ ServerResponse แแแแแฅแขแแแแก Stream API-แแแ แแแแกแแแแแแแ. Python แแแแแแแชแแแแแกแแแแก "แแแ" แแคแชแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแฃแแแแแ แแ แแแแแ แแแ แแฅแขแแ แแ.
แฌแงแแ แ: opennet.ru