๊ฐ์
ํน์ port์ ์๋น์ค์๋ง HTTPS 443 SSL ์ ์ฉํ๊ธฐ
๊ฐ์์ด์์ค์ธ ์๋น์ค ์ค์์ 8003 ํฌํธ์๋ง ssl ์ ์ ์ฉํ๋ ค๊ณ ํ๋ค.์งํ ์์ฝ๋๋ฉ์ธ ์ด๋ฆ์ด ์์ด IP๋ง ์ฌ์ฉํ๋ ๊ฒฝ์ฐ OpenSSL๋ก ์์ฒด ์๋ช ์ธ์ฆ์๋ฅผ ์์ฑํด์ผ ํ๋ค.NGINX๋ฅผ HTTPS ์ฒ๋ฆฌ ๋ด๋น์๋ก ๋๊ณ ,
bonory.tistory.com
8003 ํฌํธ์๋ง https ์ ์ฉํ๋ฉด์ ๋ฆฌ๋ฒ์ค ํ๋ก์๋ฅผ ์ฌ์ฉํ๋ค. ์ด ๋ถ๋ถ์ ๋ํด์ ์ ๋ฆฌํด๋ณด๋ ค ํ๋ค.
ํ์ธ
Proxy ์ค์ ์ฝ๋:
location / {
proxy_pass http://127.0.0.1:8003;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-Proto https;
}
- proxy_pass http://127.0.0.1:8003;
- ํด๋ผ์ด์ธํธ๊ฐ Nginx์ ์์ฒญ์ ๋ณด๋ด๋ฉด, Nginx๋ ํด๋น ์์ฒญ์ http://127.0.0.1:8003๋ก ์ ๋ฌํ๋ค.
- ์ฌ๊ธฐ์ 127.0.0.1:8003์ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ(์: FastAPI,Node.js ๋ฑ)
- ๋ฆฌ๋ฒ์ค ํ๋ก์๋ฅผ ํตํด ์ธ๋ถ์ ๋ฐฑ์๋ ์๋ฒ์ ํฌํธ๋ฅผ ์ง์ ๋ ธ์ถํ์ง ์๊ณ ๋ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋ค.
- proxy_http_version 1.1;
- ๋ฐฑ์๋ ์๋ฒ์ ํต์ ํ ๋ HTTP/1.1์ ์ฌ์ฉ
- HTTP/1.1์ WebSocket ์ฐ๊ฒฐ ๋ฐ ์ง์์ ์ธ ์ฐ๊ฒฐ์ ์ง์ํ๊ธฐ ์ํด ํ์
- proxy_set_header
- ๋ฐฑ์๋ ์๋ฒ์ ์ ๋ฌ๋๋ ์์ฒญ ํค๋๋ฅผ Nginx๊ฐ ์์ ํ๊ฑฐ๋ ์ถ๊ฐ
- proxy_set_header Upgrade $http_upgrade;
- ํด๋ผ์ด์ธํธ ์์ฒญ์ด WebSocket ์ ๊ทธ๋ ์ด๋๋ฅผ ํฌํจํ๋ ๊ฒฝ์ฐ, ์ด ํค๋๋ฅผ ๊ทธ๋๋ก ๋ฐฑ์๋ ์๋ฒ๋ก ์ ๋ฌ
- WebSocket ์ฐ๊ฒฐ์ HTTP์์ Upgrade ์์ฒญ์ ํตํด ์ค์ ๋๋ฏ๋ก ํ์!
- proxy_set_header Connection "upgrade";
- WebSocket ์ฐ๊ฒฐ์ ์ ์งํ๊ธฐ ์ํด Connection: upgrade ํค๋๋ฅผ ์ถ๊ฐ
- proxy_set_header Host $host;
- ์๋ ์์ฒญ์ Host ํค๋๋ฅผ ์ ์ง
- proxy_cache_bypass $http_upgrade;
- WebSocket ์ฐ๊ฒฐ์ด๋ ์ค์๊ฐ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ ์์ฒญ์ ์บ์ฑํ์ง ์๊ณ ํญ์ ๋ฐฑ์๋์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์จ๋ค.
- proxy_set_header X-Forwarded-Proto https;
- .js, .css ํ์ผ์ ๋ชป ๊ฐ์ง๊ณ ์์ ์ถ๊ฐํ ์ต์
- ํด๋ผ์ด์ธํธ๊ฐ HTTPS๋ก ์์ฒญํ์์ ๋ฐฑ์๋ ์๋ฒ์ ์๋ ค์ค๋ค.
- ๋ฐฑ์๋ ์๋ฒ๊ฐ HTTPS ํ๋กํ ์ฝ์ ์ธ์ํ๊ณ , ์ ์ ํ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋๋ก ๋๋๋ค.
๋ฆฌ๋ฒ์ค ํ๋ก์
- ๋ณด์ ๊ฐํ:
- ๋ฐฑ์๋ ์๋ฒ์ ์ค์ ํฌํธ๋ฅผ ์ธ๋ถ์ ๋ ธ์ถํ์ง ์๋๋ค.
- ๋ชจ๋ ํธ๋ํฝ์ Nginx๋ฅผ ํตํด ์ ์ด๋๋ฏ๋ก SSL/TLS ์ํธํ๋ฅผ ์ค์์์ ๊ด๋ฆฌ ๊ฐ๋ฅํ๋ค.
- ๋ก๋ ๋ฐธ๋ฐ์ฑ:
- Nginx๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ๋ฐฑ์๋ ์๋ฒ๋ก ์์ฒญ์ ๋ถ์ฐํ ์ ์๋ค.
- ์์ฒญ ๊ด๋ฆฌ:
- ์์ฒญ์ ๋ํ ์บ์ฑ, ๋ฆฌ๋ค์ด๋ ์ , ํค๋ ๋ณ๊ฒฝ ๋ฑ์ Nginx ๋ ๋ฒจ์์ ์ฒ๋ฆฌํ ์ ์๋ค.
- ์ ์ฐ์ฑ:
- HTTP๋ฟ๋ง ์๋๋ผ WebSocket ๋ฑ ๋ค์ํ ํ๋กํ ์ฝ์ ์ฒ๋ฆฌํ ์ ์๋ค.
ํ๋ก์
ํ๋ก์ ์๋ฒ๋ ๋คํธ์ํฌ ์์ฒญ์ ๋์ ์ฒ๋ฆฌํ๋ ์ค๊ฐ ์๋ฒ๋ก ์ฌ์ฉ ๋ชฉ์ ์ ๋ฐ๋ผ ๋ค์ํ ์ข ๋ฅ๊ฐ ์๋ค.
์ข ๋ฅ | ์ฃผ์ ํน์ง | ์ฌ์ฉ ์ |
๋ฆฌ๋ฒ์ค ํ๋ก์ | ๋ฐฑ์๋ ์๋ฒ ๋ณดํธ, ๋ก๋ ๋ฐธ๋ฐ์ฑ | Nginx, Apache |
ํฌ์๋ ํ๋ก์ | ํด๋ผ์ด์ธํธ ๋ณดํธ, IP ์จ๊น | Squid Proxy |
์คํ ํ๋ก์ | ์ต๋ช ์ฑ ์ ๊ณต, ๋ณด์ ์ํ | ๊ณต๊ฐ๋ ํ๋ก์ ์๋ฒ |
ํฌ๋ช ํ๋ก์ | ํด๋ผ์ด์ธํธ ์ค์ ๋ถํ์, ๋คํธ์ํฌ ์ ์ด | ISP, ๋คํธ์ํฌ ๋ชจ๋ํฐ๋ง |
๊ฒ์ดํธ์จ์ด ํ๋ก์ | API ๊ด๋ฆฌ ๋ฐ ํธ๋ํฝ ๋ผ์ฐํ | Kong, AWS API Gateway |
์น ํ๋ก์ | ์น ๊ธฐ๋ฐ ํ๋ก์ | ๊ณต๊ณต Wi-Fi ๋ณด์ |
SOCKS ํ๋ก์ | ๋ชจ๋ ํ๋กํ ์ฝ ์ฒ๋ฆฌ, ์ ํ๋ฆฌ์ผ์ด์ ์ง์ | P2P, ํ์ผ ์ ์ก |
์ญ๋ฐฉํฅ ์บ์ฑ ํ๋ก์ | ์บ์ฑ์ผ๋ก ์ฑ๋ฅ ์ต์ ํ | Varnish, Nginx Cache |
'๐ฉ๐ปโ๐ป > network' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Celery] ๊ฐ๋จํ๊ฒ ์ฑ๋ฅ ์ฒดํฌ (0) | 2025.02.19 |
---|---|
[Celery] ์ ์ ํ concurrency ๊ฐ ์ค์ ํ๊ธฐ (0) | 2025.02.19 |
ํน์ port์ ์๋น์ค์๋ง HTTPS 443 SSL ์ ์ฉํ๊ธฐ (0) | 2025.01.22 |
RPC vs gRPC (0) | 2025.01.14 |
์ธํฐ๋ท ์๋ 2๊ฐ์ PC ํต์ ํ๋ ๋ฐฉ๋ฒ (1) | 2024.11.28 |