node.js ๋ฑ์ ์ด์ฉํด OCI ๊ฐ์ ๋จธ์ ์ Ubuntu์์ ์น ์๋ฒ ๋ฑ์ ์ด ๋, Connection Refused๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
ํด๊ฒฐ์ ์ํด์๋, ๋จผ์ OCI ๊ด๋ฆฌ์์ VCN ์์์ ๋ฐฉํ๋ฒฝ์ ์ด์ด์ค์ผ ํ๋ค.
VCN Ingress Rule (์์ ๊ท์น) ์ค์
์๋๋ ๋ชจ๋ ํฌํธ์์ ๋ชจ๋ ๋ฐฉ์์ผ๋ก ๋ค์ด์ค๋ ์ฐ๊ฒฐ์ ์์ ํ๋๋ก ํ๋ ์ค์ ์ด๋ค.
๊ฐ๋ฐ ์ฉ์ผ๋ก ์งํํ๊ธฐ์ ์ ์ฒด๋ฅผ ๊ฐ๋ฐฉํ์์ผ๋ ๋ณด์ ์์ ๋ฌธ์ ๊ฐ ์์ ์ ์์ผ๋, ์ค์ ํ๋ก๋์ ํ๊ฒฝ์์๋ ์ฌ์ฉํ๋ ํฌํธ๋ง ์ด์ด๋ ๊ฒ์ ๊ฐ๋ ฅํ ๊ถ์ฅํ๋ค.
IPTABLES ์ค์
Ubuntu์ ๊ฒฝ์ฐ, ๊ฐ์ ๋จธ์ ์์ฒด๊ฐ ๊ฐ๊ณ ์๋ ๋ฐฉํ๋ฒฝ์ธ iptables์์ ํฌํธ๋ฅผ ์ฐจ๋จํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด ๋ถ๋ถ ๋ํ ์ฐจ๋จ ํด์ ํด ์ฃผ์ด์ผ ํ๋ค.
์์์ ์ค๋ช ํ VCN์ ๊ฒฝ์ฐ OCI์์ ์ ์ ์์ฒด๋ฅผ ์ฐจ๋จํ๋ 1์ฐจ ๋ฐฉํ๋ฒฝ์ด๋ผ๊ณ ํ๋ฉด, IPTABLES๋ ํด๋น ๊ฐ์ ๋จธ์ ์ ์ ์ํ ๋ ์ฐจ๋จํด ์ฃผ๋ 2์ฐจ ๋ฐฉํ๋ฒฝ์ ๊ฐ๋ ์ด๋ผ๊ณ ์ค๋ช ํ ์๋ ์์ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด, 3000 ํฌํธ์ ๊ฒฝ์ฐ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ด์ฉํด ์ด์ด์ค๋ค.
sudo iptables -I INPUT -p udp --dport 3000 -j ACCEPT
ํน์, ๋ค์๊ณผ ๊ฐ์ ๋ฆฌ๋ ์ค ํจ์๋ฅผ ๋ง๋ค์ด ๋ณ์นญ์ฒ๋ผ ์ฌ์ฉํด๋ ํธ๋ฆฌํ๋ค.
# ~/.bashrc
openport() {
if [ $# -ne 2 ]; then
echo "์ฌ์ฉ๋ฒ: openport <protocol> <port>"
echo "์: openport udp 19992"
return 1
fi
local proto=$1
local port=$2
# INPUT ์ฒด์ธ์ ๊ท์น ์ฝ์
sudo iptables -I INPUT -p "$proto" --dport "$port" -j ACCEPT
if [ $? -ne 0 ]; then
echo "iptables ๋ช
๋ น ์คํ ์คํจ"
return 1
fi
# ๋ณ๊ฒฝ๋ ๋ฃฐ ์ ์ฅ
sudo netfilter-persistent save
if [ $? -eq 0 ]; then
echo "iptables: $proto port $port ๊ฐ๋ฐฉ ๋ฐ ์ ์ฅ ์๋ฃ"
else
echo "netfilter-persistent save ์คํจ"
return 1
fi
}
๋๋ฉ์ธ ์ฐ๊ฒฐ ์
IP์ฃผ์๋ก ์ ์ํ ๋์๋ ์ฐ๊ฒฐ์ด ์ ๋์ง๋ง, ๋๋ฉ์ธ์ผ๋ก ์ฐ๊ฒฐํ๋ฉด SSL PROTOCOL ERROR ๋ฑ์ด ๋ฐ์ํ ์ ์๋ค.
์ด ๊ฒฝ์ฐ, ์ํฌ๋ฆฟ ๋ชจ๋๋ก ์ ์ฐฝ์ ์ด์ด์ฃผ๊ณ http://[๋๋ฉ์ธ]:[ํฌํธ]/[๊ฒฝ๋ก]๋ฅผ ์ ๋ ฅํด ๋ค์ด๊ฐ ๋ณด์. https ๊ตฌํ์ ์ํด์๋ Let's Encrypt ๋ฑ์ ์ด์ฉํด ์ธ์ฆ์๋ฅผ ๋ฃ์ด์ค์ผ ํ๋๋ฐ, ์ด๋ ๋ค์์ ๋ค๋ค๋ณด๋๋ก ํ๊ฒ ๋ค.