diff --git a/.env.example b/.env.example index e042d515b..b65449ea9 100644 --- a/.env.example +++ b/.env.example @@ -2,6 +2,7 @@ SERVER_PORT=8080 FRONTEND_PORT=3000 WEBSOCKET_PORT=8082 +OPENISLE_MCP_PORT=8085 MYSQL_PORT=3306 REDIS_PORT=6379 RABBITMQ_PORT=5672 diff --git a/nginx/openisle b/nginx/openisle index 612242399..fb523acdc 100644 --- a/nginx/openisle +++ b/nginx/openisle @@ -100,10 +100,28 @@ server { # auth_basic_user_file /etc/nginx/.htpasswd; } - - # ---------- WEBSOCKET GATEWAY TO :8082 ---------- location ^~ /websocket/ { - proxy_pass http://127.0.0.1:8084/; + proxy_pass http://127.0.0.1:8084/; + proxy_http_version 1.1; + + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + + 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 X-Forwarded-Host $host; + + proxy_read_timeout 300s; + proxy_send_timeout 300s; + proxy_buffering off; + proxy_cache off; + add_header Cache-Control "no-store" always; + } + + location ^~ /mcp/ { + proxy_pass http://127.0.0.1:8085/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; diff --git a/nginx/openisle-staging b/nginx/openisle-staging index 951a9b4cf..ef5d014c9 100644 --- a/nginx/openisle-staging +++ b/nginx/openisle-staging @@ -8,11 +8,8 @@ server { listen 443 ssl; server_name staging.open-isle.com www.staging.open-isle.com; - ssl_certificate /etc/letsencrypt/live/staging.open-isle.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/staging.open-isle.com/privkey.pem; - # ssl_certificate /etc/letsencrypt/live/open-isle.com/fullchain.pem; - # ssl_certificate_key /etc/letsencrypt/live/open-isle.com/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; @@ -40,52 +37,6 @@ server { add_header X-Upstream $upstream_addr always; } - # 1) 原生 WebSocket - location ^~ /api/ws { - proxy_pass http://127.0.0.1:8081; # 不要尾随 /,保留原样 URI - proxy_http_version 1.1; - - # 升级所需 - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - - # 统一透传这些头(你在 /api/ 有,/api/ws 也要有) - 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 X-Forwarded-Host $host; - - proxy_read_timeout 300s; - proxy_send_timeout 300s; - proxy_buffering off; - proxy_cache off; - } - - # 2) SockJS(包含 /info、/iframe.html、/.../websocket 等) - location ^~ /api/sockjs { - proxy_pass http://127.0.0.1:8081; - proxy_http_version 1.1; - - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - - 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 X-Forwarded-Host $host; - - proxy_read_timeout 300s; - proxy_send_timeout 300s; - proxy_buffering off; - proxy_cache off; - - # 如要同源 iframe 回退,下面两行二选一(或者交给 Spring Security 的 sameOrigin) - # proxy_hide_header X-Frame-Options; - # add_header X-Frame-Options "SAMEORIGIN" always; - } - # ---------- API ---------- location /api/ { proxy_pass http://127.0.0.1:8081/api/; @@ -108,8 +59,7 @@ server { proxy_no_cache 1; proxy_cache_bypass 1; } - - # ---------- WEBSOCKET GATEWAY TO :8083 ---------- + location ^~ /websocket/ { proxy_pass http://127.0.0.1:8083/; proxy_http_version 1.1; @@ -130,4 +80,24 @@ server { add_header Cache-Control "no-store" always; } + location ^~ /mcp/ { + proxy_pass http://127.0.0.1:8086/; + proxy_http_version 1.1; + + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + + 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 X-Forwarded-Host $host; + + proxy_read_timeout 300s; + proxy_send_timeout 300s; + proxy_buffering off; + proxy_cache off; + add_header Cache-Control "no-store" always; + } + }