접속 dns 수정

This commit is contained in:
Macbook
2026-07-12 19:10:16 +09:00
parent dca36c7b19
commit 7b3378bc45
6 changed files with 104 additions and 18 deletions
+18 -7
View File
@@ -1,14 +1,19 @@
# BizCare — exdev Caddy 서브도메인 스니펫
# host 포트 83 → bizcare-frontend
# 인증서: acme.sh 로 발급한 bizcare 전용 LE cert
# /Users/aidev/dev/exAIChatbot2.0/docker/nginx/certs/bizcare/{fullchain,privkey}.pem
# (Caddy 컨테이너 마운트: /etc/caddy/certs/bizcare/)
# host 포트 83 → bizcare-frontend (구 billcare-frontend)
#
# 인증서:
# bizcare: .../certs/bizcare/{fullchain,privkey}.pem
# billcare: .../certs/billcare/{fullchain,privkey}.pem (구 도메인 → 리다이렉트용)
# Caddy 컨테이너 마운트 예: /etc/caddy/certs/{bizcare,billcare}/
#
# 설치: 이 스니펫을 ex-chatbot Caddyfile 에 import 한 뒤
# docker exec ex-chatbot-caddy caddy reload --config /etc/caddy/Caddyfile
# BizCare
https://{$BILLCARE_DOMAIN:bizcare.exdev.co.kr} {
# 신규 도메인 (정본)
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:{$BILLCARE_HOST_PORT:83} {
reverse_proxy host.docker.internal:{$BIZCARE_HOST_PORT:83} {
flush_interval -1
transport http {
read_timeout 120s
@@ -22,3 +27,9 @@ https://{$BILLCARE_DOMAIN:bizcare.exdev.co.kr} {
}
}
}
# 구 도메인 → 신규로 영구 리다이렉트 (인증서 있을 때만 동작)
https://{$BILLCARE_LEGACY_DOMAIN:billcare.exdev.co.kr} {
tls /etc/caddy/certs/billcare/fullchain.pem /etc/caddy/certs/billcare/privkey.pem
redir https://{$BIZCARE_DOMAIN:bizcare.exdev.co.kr}{uri} permanent
}
+1 -1
View File
@@ -22,7 +22,7 @@ export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:${PATH:-/usr/bi
export FRONTEND_PORT="${FRONTEND_PORT:-83}"
export BACKEND_PORT="${BACKEND_PORT:-18082}"
export MYSQL_PORT="${MYSQL_PORT:-3308}"
export APP_CORS_ORIGINS="${APP_CORS_ORIGINS:-https://bizcare.exdev.co.kr,http://bizcare.exdev.co.kr,http://localhost:83,http://127.0.0.1:83}"
export APP_CORS_ORIGINS="${APP_CORS_ORIGINS:-https://bizcare.exdev.co.kr,https://billcare.exdev.co.kr,http://bizcare.exdev.co.kr,http://billcare.exdev.co.kr,http://localhost:83,http://127.0.0.1:83}"
mkdir -p "$(dirname "$DEPLOY_LOG")"
exec >> "$DEPLOY_LOG" 2>&1
+44
View File
@@ -0,0 +1,44 @@
#!/usr/bin/env bash
# BizCare 도메인(bizcare.exdev.co.kr) LE 인증서 발급 도우미
# 전제: DNS A/CNAME 이 서버를 가리키고, HTTP-01 용 webroot 가 열려 있어야 함.
set -euo pipefail
DOMAIN="${BIZCARE_DOMAIN:-bizcare.exdev.co.kr}"
WEBROOT="${ACME_WEBROOT:-/var/www/certbot}"
CERT_OUT="${CERT_OUT:-/Users/aidev/dev/exAIChatbot2.0/docker/nginx/certs/bizcare}"
EMAIL="${ACME_EMAIL:-admin@exdev.co.kr}"
echo "==> domain : $DOMAIN"
echo "==> webroot: $WEBROOT"
echo "==> out : $CERT_OUT"
mkdir -p "$CERT_OUT"
if ! command -v acme.sh >/dev/null 2>&1 && [ ! -x "$HOME/.acme.sh/acme.sh" ]; then
echo "acme.sh 가 없습니다. https://github.com/acmesh-official/acme.sh 설치 후 재실행하세요."
exit 1
fi
ACME_BIN="${ACME_SH:-$HOME/.acme.sh/acme.sh}"
[ -x "$ACME_BIN" ] || ACME_BIN="$(command -v acme.sh)"
"$ACME_BIN" --issue -d "$DOMAIN" -w "$WEBROOT" --email "$EMAIL" || true
# 심볼릭/복사는 환경에 맞게 조정
LIVE="$HOME/.acme.sh/${DOMAIN}_ecc"
[ -d "$LIVE" ] || LIVE="$HOME/.acme.sh/${DOMAIN}"
if [ ! -d "$LIVE" ]; then
echo "발급 디렉터리를 찾지 못했습니다: $HOME/.acme.sh/${DOMAIN}[_ecc]"
exit 1
fi
cp -f "$LIVE/fullchain.cer" "$CERT_OUT/fullchain.pem"
cp -f "$LIVE/${DOMAIN}.key" "$CERT_OUT/privkey.pem" 2>/dev/null \
|| cp -f "$LIVE/private.key" "$CERT_OUT/privkey.pem"
chmod 644 "$CERT_OUT/fullchain.pem"
chmod 600 "$CERT_OUT/privkey.pem"
echo "==> 인증서 저장 완료: $CERT_OUT"
echo "==> Caddy reload:"
echo " docker exec ex-chatbot-caddy caddy reload --config /etc/caddy/Caddyfile"