njs 0.4.0 ๋ฆด๋ฆฌ์Šค. Rambler๋Š” Nginx์— ๋Œ€ํ•œ ํ˜•์‚ฌ ์‚ฌ๊ฑด์„ ์ข…๋ฃŒํ•ด ๋‹ฌ๋ผ๋Š” ์ฒญ์›์„œ๋ฅผ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค.

Nginx ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์ž ์ถœํŒํ•˜๋‹ค JavaScript ์–ธ์–ด ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์ถœ์‹œ - njs 0.4.0. njs ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” ECMAScript ํ‘œ์ค€์„ ๊ตฌํ˜„ํ•˜๋ฉฐ ๊ตฌ์„ฑ์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” Nginx์˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ ์ฒ˜๋ฆฌ, ๊ตฌ์„ฑ ์ƒ์„ฑ, ๋™์ ์œผ๋กœ ์‘๋‹ต ์ƒ์„ฑ, ์š”์ฒญ/์‘๋‹ต ์ˆ˜์ • ๋˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์Šคํ… ์‹ ์† ์ƒ์„ฑ์„ ์œ„ํ•œ ๊ณ ๊ธ‰ ๋…ผ๋ฆฌ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์ง€์นจ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. js_import ๋ณ€์ˆ˜ ๋˜๋Š” ์œ„์น˜ ํ•ธ๋“ค๋Ÿฌ ๊ตฌํ˜„์„ ํ†ตํ•ด JavaScript ๋ชจ๋“ˆ์„ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด foo.js ๋ชจ๋“ˆ์—์„œ๋Š” ํŠน์ • ๊ฒฝ๋กœ์™€ ๊ด€๋ จํ•˜์—ฌ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜ ํ‘œ์‹œ์ค„์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

foo.js :

ํ•จ์ˆ˜ ๋ฐ”(r) {
r.return(200);
}

๊ธฐ๋ณธ๊ฐ’ {bar} ๋‚ด๋ณด๋‚ด๊ธฐ;

nginx.conf:

js_import foo.js;

์œ„์น˜ / {
js_content foo.bar;
}

๊ฐœ์ฒด์—์„œ r.headersOut ์—ฌ๋Ÿฌ ๊ฐ’์„ ํฌํ•จํ•˜๋Š” ํ—ค๋”์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ:

ํ•จ์ˆ˜ ๋‚ด์šฉ(r) {
r.headersOut['Set-Cookie'] = [
'foo=111; ์ตœ๋Œ€ ์—ฐ๋ น=3600; ๊ฒฝ๋กœ=/',
'๋ฐ”=qqq; ์ตœ๋Œ€ ์—ฐ๋ น=86400; ๊ฒฝ๋กœ=/'
];

r.return(200);
}

์ถ”๊ฐ€์ ์œผ๋กœ ์ฃผ๋ชฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ัะพะพะฑั‰ะตะฝะธะต Rambler Group ํšŒ์‚ฌ ์†Œ๊ฐœ ๋ฐฉํ–ฅ ์ˆ˜์‚ฌ๊ธฐ๊ด€์— ๊ณต์‹์ ์œผ๋กœ ํ•ด๊ณ ๋ฅผ ์ฒญ์›ํ•จ ํ˜•์‚ฌ ์‚ฌ๊ฑดNginx์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํƒ„์›์„œ๋Š” ์ง‘ํ–‰์˜ ์ผ๋ถ€๋กœ ์ „์†ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐœํ–‰ ๋œ 12์›”์—๋Š” Rambler Group ์ด์‚ฌํšŒ๊ฐ€ Nginx์™€์˜ ์ ˆ์ฐจ๋ฅผ ๋ฏผ๋ฒ• ๋ถ„์•ผ๋กœ ์ด์ „ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„์šธ๋Ÿฌ ๋žจ๋ธ”๋Ÿฌ๋ฅผ ๋Œ€๋ฆฌํ•ด ์ฒ˜์Œ์œผ๋กœ ๋ฒ•์ง‘ํ–‰๊ธฐ๊ด€๊ณผ ์ ‘์ด‰ํ–ˆ๋˜ ๋ฒ•๋ฌด๋ฒ•์ธ ๋ฆฐ์šฐ๋“œ์ธ๋ฒ ์ŠคํŠธ๋จผํŠธCY(Lynwood Investments CY Ltd)์™€์˜ ๊ณ„์•ฝ๋„ ํ•ด์ง€๋œ ๊ฒƒ์œผ๋กœ ์ „ํ•ด์กŒ๋‹ค.

ํฅ๋ฏธ๋กญ๊ฒŒ๋„ ๊ณ„์•ฝ ์ข…๋ฃŒ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  Lynwood Investments CY Ltd๋Š” NGINX ์‚ฌ๊ฑด์—์„œ ์ž์‹ ๊ณผ ์ด์ต์„ ์œ„ํ•ด ์†ํ•ด ๋ฐ ๋ณด์ƒ์„ ์ฆ๋ช…ํ•  ๊ถŒ๋ฆฌ๋ฅผ ๋ณด์œ ํ–ˆ์ง€๋งŒ Rambler๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ์ˆ˜ํ–‰ํ•  ๊ถŒ๋ฆฌ๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฃน. ์— ์˜ํ•ด ์ •๋ณด ๋””์ง€ํ„ธ ๊ถŒ๋ฆฌ ์„ผํ„ฐ์˜ ๋ณ€ํ˜ธ์‚ฌ๋กœ๋ถ€ํ„ฐ Rambler์˜ ์ฒญ์›์€ ์œ ํšจํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ˜•์‚ฌ ์‚ฌ๊ฑด์€ ๋‹น์‚ฌ์ž์˜ ํ™”ํ•ด์— ์˜ํ•ด์„œ๋งŒ ์ข…๋ฃŒ๋  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ˜•์‚ฌ ์‚ฌ๊ฑด์—์„œ ๋ง๋ญ‰์น˜ ๋ถ€์žฌ์— ๋Œ€ํ•œ ๊ฒฐ์ •์€ ์ˆ˜์‚ฌ ๋‹น๊ตญ.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€