Node.js + TypeScript MCP 서버 구현: - 5개 도구: inspect_page, inspect_site, get_inspection, get_issues, get_history - 듀얼 트랜스포트: stdio (Claude Desktop) + Streamable HTTP (Docker/원격) - i18n 지원 (영어/한국어) - Docker 통합 (port 3100) + Nginx /mcp 프록시 - Smithery 레지스트리 배포 설정 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
79 lines
2.2 KiB
Nginx Configuration File
79 lines
2.2 KiB
Nginx Configuration File
upstream frontend {
|
|
server frontend:3000;
|
|
}
|
|
|
|
upstream backend {
|
|
server backend:8000;
|
|
}
|
|
|
|
upstream mcp {
|
|
server mcp:3100;
|
|
}
|
|
|
|
server {
|
|
listen 80;
|
|
server_name web-inspector.yakenator.io;
|
|
|
|
client_max_body_size 10M;
|
|
|
|
# MCP 엔드포인트 (Streamable HTTP)
|
|
location /mcp {
|
|
proxy_pass http://mcp;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_read_timeout 180s;
|
|
proxy_buffering off;
|
|
proxy_cache off;
|
|
add_header X-Accel-Buffering no;
|
|
}
|
|
|
|
# API 요청 → Backend
|
|
location /api/ {
|
|
proxy_pass http://backend;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
|
|
# 타임아웃 (검사 최대 120초)
|
|
proxy_read_timeout 120s;
|
|
proxy_send_timeout 120s;
|
|
}
|
|
|
|
# SSE 스트리밍 전용 (모든 검사 타입: 단일/사이트/배치)
|
|
location ~ ^/api/(inspections|site-inspections|batch-inspections)/[^/]+/stream$ {
|
|
proxy_pass http://backend;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_set_header Connection '';
|
|
|
|
proxy_buffering off;
|
|
proxy_cache off;
|
|
proxy_read_timeout 600s;
|
|
chunked_transfer_encoding off;
|
|
|
|
# SSE content type
|
|
add_header Content-Type text/event-stream;
|
|
add_header Cache-Control no-cache;
|
|
add_header X-Accel-Buffering no;
|
|
}
|
|
|
|
# 나머지 → Frontend
|
|
location / {
|
|
proxy_pass http://frontend;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
|
|
# Next.js HMR WebSocket (개발 시)
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection "upgrade";
|
|
}
|
|
}
|