145 lines
4.2 KiB
Caddyfile
145 lines
4.2 KiB
Caddyfile
# exdev 통합 HTTPS (443) — stock / chatbot(Agent) / bizcare / nationcompany / github / apex
|
|
# Agent 배포 시 chatbot-only Caddyfile 로 덮어써 다른 서브도메인이 깨진 것을 복구
|
|
{
|
|
email {$CADDY_ACME_EMAIL:admin@exdev.co.kr}
|
|
auto_https disable_redirects
|
|
}
|
|
|
|
(tls_certs) {
|
|
tls /etc/caddy/certs/fullchain.pem /etc/caddy/certs/privkey.pem
|
|
}
|
|
|
|
(proxy_std) {
|
|
flush_interval -1
|
|
transport http {
|
|
read_timeout 120s
|
|
write_timeout 120s
|
|
versions 1.1 2
|
|
}
|
|
header_up Host {host}
|
|
header_up X-Real-IP {remote_host}
|
|
header_up X-Forwarded-For {remote_host}
|
|
header_up X-Forwarded-Proto {scheme}
|
|
}
|
|
|
|
# ── GoldenChart ───────────────────────────────────────────────────────────────
|
|
https://{$STOCK_DOMAIN:stock.exdev.co.kr} {
|
|
import tls_certs
|
|
handle {
|
|
reverse_proxy host.docker.internal:{$GOLDENCHART_HOST_PORT:80} {
|
|
import proxy_std
|
|
}
|
|
}
|
|
}
|
|
|
|
# ── Chatbot Agent 2.0 ─────────────────────────────────────────────────────────
|
|
https://{$CHATBOT_DOMAIN:chatbot.exdev.co.kr} {
|
|
import tls_certs
|
|
|
|
# 업스트림 nginx 가 HTTP 로 absolute redirect 해서 http:// 로 떨어지지 않게 Caddy 에서 처리
|
|
redir / /chatbot/app/ 302
|
|
|
|
handle /agent/* {
|
|
reverse_proxy host.docker.internal:{$RAG_API_PORT:28012} {
|
|
transport http {
|
|
read_timeout 120s
|
|
write_timeout 120s
|
|
}
|
|
}
|
|
}
|
|
|
|
handle /chatbot/admin* {
|
|
uri strip_prefix /chatbot/admin
|
|
reverse_proxy host.docker.internal:{$ADMIN_PORT:28013} {
|
|
transport http {
|
|
read_timeout 120s
|
|
write_timeout 120s
|
|
}
|
|
}
|
|
}
|
|
|
|
handle /web/* {
|
|
reverse_proxy host.docker.internal:{$SKILL_PORT:8083} {
|
|
transport http {
|
|
read_timeout 120s
|
|
write_timeout 120s
|
|
}
|
|
}
|
|
}
|
|
|
|
# 카카오 오픈빌더 Skill 웹훅 (/kakao/skill, /oakak/skill)
|
|
handle /kakao/* {
|
|
reverse_proxy host.docker.internal:{$SKILL_PORT:8083} {
|
|
transport http {
|
|
read_timeout 120s
|
|
write_timeout 120s
|
|
}
|
|
}
|
|
}
|
|
|
|
handle /oakak/* {
|
|
reverse_proxy host.docker.internal:{$SKILL_PORT:8083} {
|
|
transport http {
|
|
read_timeout 120s
|
|
write_timeout 120s
|
|
}
|
|
}
|
|
}
|
|
|
|
handle {
|
|
reverse_proxy host.docker.internal:{$CHATBOT_APP_PORT:8092} {
|
|
import proxy_std
|
|
}
|
|
}
|
|
}
|
|
|
|
# ── BizCare ───────────────────────────────────────────────────────────────────
|
|
https://{$BIZCARE_DOMAIN:bizcare.exdev.co.kr} {
|
|
tls /etc/caddy/certs/bizcare/fullchain.pem /etc/caddy/certs/bizcare/privkey.pem
|
|
handle {
|
|
reverse_proxy host.docker.internal:{$BIZCARE_HOST_PORT:83} {
|
|
import proxy_std
|
|
}
|
|
}
|
|
}
|
|
|
|
# ── ChannelONE (nationcompany) — TLS-ALPN ACME ────────────────────────────────
|
|
https://{$NATIONCOMPANY_DOMAIN:nationcompany.exdev.co.kr} {
|
|
handle {
|
|
reverse_proxy host.docker.internal:{$NATIONCOMPANY_HOST_PORT:84} {
|
|
import proxy_std
|
|
}
|
|
}
|
|
}
|
|
|
|
# ── Gitea (github.exdev.co.kr) ────────────────────────────────────────────────
|
|
https://{$GITHUB_DOMAIN:github.exdev.co.kr} {
|
|
tls /etc/caddy/certs/github/fullchain.pem /etc/caddy/certs/github/privkey.pem
|
|
handle {
|
|
reverse_proxy host.docker.internal:{$GITEA_HOST_PORT:3000} {
|
|
flush_interval -1
|
|
transport http {
|
|
read_timeout 3600s
|
|
write_timeout 3600s
|
|
versions 1.1 2
|
|
}
|
|
header_up Host {host}
|
|
header_up X-Real-IP {remote_host}
|
|
header_up X-Forwarded-For {remote_host}
|
|
header_up X-Forwarded-Proto {scheme}
|
|
}
|
|
}
|
|
}
|
|
|
|
# ── Legacy apex ───────────────────────────────────────────────────────────────
|
|
https://{$HTTPS_DOMAIN:exdev.co.kr} {
|
|
import tls_certs
|
|
@legacy_chatbot path /chatbot /chatbot/*
|
|
handle @legacy_chatbot {
|
|
redir https://{$CHATBOT_DOMAIN:chatbot.exdev.co.kr}{uri} permanent
|
|
}
|
|
handle {
|
|
redir https://{$STOCK_DOMAIN:stock.exdev.co.kr}{uri} permanent
|
|
}
|
|
}
|