# RTGS 프론트(콘솔 + DT) 정적 서빙 + API 리버스프록시. # dev의 vite proxy를 대체: 콘솔은 X-RTGS-DC 헤더로, DT는 /dcN/ 경로로 대상 센터를 고른다. # 컨테이너 DNS(127.0.0.11)로 service name 동적 해석 → proxy_pass 변수 사용. # 콘솔용 센터 라우팅(요청 헤더 X-RTGS-DC 기준). 기본 DC1. map $http_x_rtgs_dc $chanel_up { default "dc1-chanel:8091"; "DC2" "dc2-chanel:8091"; "DC3" "dc3-chanel:8091"; } map $http_x_rtgs_dc $lv_up { default "dc1-louisvuitton:8099"; "DC2" "dc2-louisvuitton:8099"; "DC3" "dc3-louisvuitton:8099"; } map $http_x_rtgs_dc $gucci_up { default "dc1-gucci:8095"; "DC2" "dc2-gucci:8095"; "DC3" "dc3-gucci:8095"; } server { listen 80; server_name _; resolver 127.0.0.11 valid=10s; # Docker/compose 내장 DNS (service name 동적 해석) root /usr/share/nginx/html; index index.html; # --- DT 단말: /dc1|/dc2|/dc3/... → 해당 센터 Gucci (prefix 제거) --- location ~ ^/dc([123])/(.*)$ { set $dt_gucci "dc$1-gucci:8095"; proxy_pass http://$dt_gucci/$2$is_args$args; proxy_set_header Host $host; } # --- 콘솔 API: Chanel 계열 --- location ~ ^/(accounts|inquiry|pay|meta|rawmessage|notifications|ledger)(/|$) { proxy_pass http://$chanel_up; proxy_set_header Host $host; } # --- 콘솔 API: 관리(LouisVuitton) --- location ~ ^/(admin|console)(/|$) { proxy_pass http://$lv_up; proxy_set_header Host $host; } # --- 콘솔 API: Gucci(로그인 등) --- location /gucci/ { proxy_pass http://$gucci_up; proxy_set_header Host $host; } # --- 정적 파일 + SPA 폴백(콘솔). dt.html 은 그대로 서빙 --- location / { try_files $uri $uri/ /index.html; } }