Tailscale Funnel์ ํ์ฉํ ๋ก์ปฌ Hermes Agent์ HTTPS ๋ณด์ ๋ ธ์ถ
๐ Exposing Your Hermes Agent to the Internet with Tailscale Funnel (Safely)
AI ์์ฝ
Context
๋ก์ปฌ ํ๊ฒฝ์์ ์คํ๋๋ Hermes Agent์ OpenAI ํธํ API๋ฅผ ์ธ๋ถ ๋ฐฑ์๋(Vercel, Railway ๋ฑ)์ ์ฐ๊ฒฐํด์ผ ํ๋ ์๊ตฌ์ฌํญ ๋ฐ์. ๊ธฐ์กด Port Forwarding ๋ฐฉ์์ ํ ๋คํธ์ํฌ ๋ณด์ ์ทจ์ฝ์ ์ ์ผ๊ธฐํ๋ฉฐ, VPS ๊ตฌ์ถ์ด๋ Nginx ์ค์ ์ ์ธํ๋ผ ๊ด๋ฆฌ ์ค๋ฒํค๋๋ฅผ ์ฆ๊ฐ์ํค๋ ํ๊ณ ์กด์ฌ.
Technical Solution
- Tailscale Funnel ๋์ ์ ํตํ ์ธ๋ถ ๊ณต๊ฐ HTTPS ์๋ํฌ์ธํธ ์์ฑ ๋ฐ TLS ์ธ์ฆ์ ์๋ ๊ด๋ฆฌ
- API_SERVER_HOST๋ฅผ 127.0.0.1๋ก ์ ํํ์ฌ ๋ถํ์ํ ์ธ๋ถ ๋ ธ์ถ์ ์ฐจ๋จํ๊ณ ๋ก์ปฌ ๋ฃจํ๋ฐฑ ์ธํฐํ์ด์ค์์๋ง ์์ ํ๋๋ก ์ค๊ณ
- Bearer Token ๊ธฐ๋ฐ์ API_SERVER_KEY ์ธ์ฆ ๊ณ์ธต์ ์ ์ฉํ์ฌ ๋น์ธ์ฆ ์์ฒญ์ API ์ ๊ทผ ์์ฒ ์ฐจ๋จ
- OpenAI SDK์ baseURL ๋ณ๊ฒฝ๋ง์ผ๋ก ๋ก์ปฌ ์์ด์ ํธ์ ํด๋ผ์ฐ๋ ๋ฐฑ์๋ ๊ฐ์ ์ํธ ์ด์ฉ์ฑ์ ํ๋ณดํ ์ถ์ํ ๊ตฌ์กฐ ์ฑํ
- TLS ์ข ๋ฃ(TLS Termination)๋ฅผ Tailscale ๋จ์์ ์ฒ๋ฆฌํ์ฌ ๋ก์ปฌ ์๋ฒ์ ์ํธํ ๋ถํ ์ ๊ฑฐ ๋ฐ ๋จ์ ์ ๋ฌ ๊ตฌ์กฐ ๊ตฌํ
์ค์ฒ ํฌ์ธํธ
- ๋ก์ปฌ ์๋น์ค ๋ ธ์ถ ์
0.
0.
0.0 ๋ฐ์ธ๋ฉ ๋์
1
2
7.
0.
0.1 ์ฌ์ฉ ๋ฐ ๋ฆฌ๋ฒ์ค ํ๋ก์ ๊ฒฐํฉ ๊ฒํ - ์ธ๋ถ ๊ณต๊ฐ API ์ค๊ณ ์ ํ์์ ์ผ๋ก Bearer Token ๋ฑ ์ธ์ฆ ๋ฉ์ปค๋์ฆ ์ ์ฉ ์ฌ๋ถ ํ์ธ - ํ๊ฒฝ ๋ณ์(.env)๋ฅผ ํตํ API Key ๋ฐ URL ๊ด๋ฆฌ๋ก ์์ค ์ฝ๋ ๋ด ์ํฌ๋ฆฟ ํ๋์ฝ๋ฉ ๋ฐฉ์ง - ๋คํธ์ํฌ ์ค์ ์ curl์ ์ด์ฉํ ๋ก์ปฌ API ์ ์ ๋์ ์ฌ๋ถ ์ฐ์ ๊ฒ์ฆ