์ด์๊ฐ ํ์ฑ๋จ ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ NGINX ์ ๋ 1.13, ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(Python, PHP, Perl, Ruby, Go, JavaScript/Node.js ๋ฐ Java)๋ก ์น ์ ํ๋ฆฌ์ผ์ด์
์ ์คํํ ์ ์๋ ์๋ฃจ์
์ด ๊ฐ๋ฐ๋๊ณ ์์ต๋๋ค. NGINX ์ ๋์ ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์
์ ๋์์ ์คํํ ์ ์์ผ๋ฉฐ, ๊ตฌ์ฑ ํ์ผ์ ํธ์งํ๊ณ ๋ค์ ์์ํ ํ์ ์์ด ์คํ ๋งค๊ฐ๋ณ์๋ฅผ ๋์ ์ผ๋ก ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์ฝ๋๋ C๋ก ์์ฑ๋์์ผ๋ฉฐ, ๋ฐฐํฌ์ Apache 2.0์ ๋ฐ๋ผ ๋ผ์ด์ผ์ค๊ฐ ๋ถ์ฌ๋์์ต๋๋ค. NGINX Unit์ ๊ธฐ๋ฅ์ ๋ํด ์์๋ณผ ์ ์์ต๋๋ค. ๋ฐํ ์ฒซ ๋ฒ์งธ ๋ฌธ์ .
์ ๋ฒ์ ์ ์๋ก์ด Python 3.8 ๋ธ๋์น์์ ํธํ์ฑ์ ๋ณด์ฅํ๊ณ Ruby 2.6์ ์ฌ์ฉํ ๋ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉฐ ๋ค์์ ๊ตฌํํฉ๋๋ค. ์ง์ ๋จ์ ์ญ๋ฐฉํฅ ํ๋ก์ ๋ชจ๋์์ ์๋ํฉ๋๋ค. ์ญ๋ฐฉํฅ ํ๋ก์๋ "action" ์น์
์ "proxy" ์ง์๋ฌธ์ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ๋ฉ๋๋ค. IPv4, IPv6 ๋๋ Unix ์์ผ์ ํตํ ์์ฒญ ์ ๋ฌ์ด ์ง์๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด:
{
"๊ฒฝ๋ก": [
{
"์ฑ๋ฅ": {
"uri": "/ipv4/*"
},
"ํ๋": {
"ํ๋ก์": "http://127.0.0.1:8080"
}
},
{
"์ฑ๋ฅ": {
"uri": "/์ ๋์ค/*"
},
"ํ๋": {
"ํ๋ก์": "http://unix:/path/to/unix.sock"
}
}
] }
์ฅ๊ธฐ์ ์ผ๋ก Unit์ ๋ชจ๋ ์น ์๋น์ค์ ํจ๊ป ์ฌ์ฉํ ์ ์๋ ์๊ธ์์กฑ ๊ฐ๋ฅํ ๊ณ ์ฑ๋ฅ ๊ตฌ์ฑ ์์๋ก ์ ํํ ๊ณํ์
๋๋ค. ์ด ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ํฅํ ์์
์ ๋ณด์, ๊ฒฉ๋ฆฌ ๋ฐ DoS ๋ณดํธ, ๋ค์ํ ์ ํ์ ๋์ ์ ํ๋ฆฌ์ผ์ด์
์คํ ๊ธฐ๋ฅ, ๋ก๋ ๋ฐธ๋ฐ์ฑ ๋ฐ ๋ด๊ฒฐํจ์ฑ, ์ ์ ์ฝํ
์ธ ์ ํจ์จ์ ์ธ ์ ๋ฌ, ํต๊ณ ๋๊ตฌ ๋ฐ ๋ชจ๋ํฐ๋ง๊ณผ ๊ฐ์ ์์ญ์ ์ค์ ์ ๋ ๊ฒ์
๋๋ค.
์ถ์ฒ : opennet.ru