diff --git a/k8s/dockerfiles/conf/nginx.conf b/k8s/dockerfiles/conf/nginx.conf index 281ad4f4..c23e02c3 100644 --- a/k8s/dockerfiles/conf/nginx.conf +++ b/k8s/dockerfiles/conf/nginx.conf @@ -1,60 +1,131 @@ -worker_processes 1; - -events { - worker_connections 1024; -} - -http { - include mime.types; - default_type application/octet-stream; - sendfile on; - keepalive_timeout 65; - - server { - listen 8000; - server_name localhost; - - location /api/{ - rewrite ^/prod-api/(.*)$ /$1 break; - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header REMOTE-HOST $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://ci4s-gateway-service.argo.svc:8082/; - } - - location /label-studio { - rewrite ^/prod-api/(.*)$ /$1 break; - proxy_pass http://label-studio-ls-app.label-data.svc:80/; - proxy_hide_header X-Frame-Options; - add_header X-Frame-Options "ALLOW-FROM http://label-studio-ls-app.label-data.svc:80/"; - } - - location /api/v1/model/ { - proxy_pass http://pipeline-convert-service.argo.svc:80; - proxy_set_header REMOTE-HOST $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } - - location / { - rewrite ^/prod-api/(.*)$ /$1 break; - root /home/ruoyi/projects/ruoyi-ui; - try_files $uri $uri/ /index.html; - index index.html index.htm; - } - - location @router { - rewrite ^.*$ /index.html last; - } - - # 避免actuator暴露 - if ($request_uri ~ "/actuator") { - return 403; - } - - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root html; - } - } -} +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + sendfile on; + keepalive_timeout 65; + client_max_body_size 20480m; + error_log /var/log/nginx/error.log debug; + server { + listen 8000; + server_name localhost; + + location /api/{ +# rewrite ^/prod-api/(.*)$ /$1 break; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://ci4s-gateway-service.argo.svc:8082/; + proxy_connect_timeout 500s; # 设置连接超时时间为 120 秒 + proxy_read_timeout 500s; # 设置读取超时时间为 120 秒 + proxy_send_timeout 500s; # 设置发送超时时间为 120 秒 + } + + location /label-studio/ { + # rewrite ^/label-studio/(.*)$ /$1 break; + proxy_pass http://label-studio-service.argo.svc:8080/projects/; + proxy_hide_header X-Frame-Options; + add_header X-Frame-Options ALLOWALL; + } + + location / { + rewrite ^/prod-api/(.*)$ /$1 break; + root /home/ruoyi/projects/ruoyi-ui; + try_files $uri $uri/ /index.html; + index index.html index.htm; + } + + location /api/v1/model/ { + proxy_pass http://pipeline-convert-service.argo.svc:80; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + # location /api/v1/realtimeStatus { + # proxy_pass http://argo-server.argo.svc:2746/api/v1/workflow-events/argo; + # proxy_set_header REMOTE-HOST $remote_addr; + # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + # } + + + location /api/v1/tensorboard/show { + # 提取查询参数中的 `svc` 值 + set $svc ""; + if ($arg_svc) { + set $svc $arg_svc; + } + + # 将请求转发到动态生成的内部服务地址 + proxy_pass http://$svc.argo.svc:6006; + + # 传递必要的头信息 + 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; + + # 对于 WebSocket 应用很重要 + proxy_buffering off; + } + + location /api/v1/realtimeStatus { + rewrite ^/api/v1/realtimeStatus(.*)$ /api/v1/workflow-events/argo$1 break; + + proxy_pass https://argo-server.argo.svc:2746; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + # 保留查询参数 + proxy_set_header X-Original-URI $request_uri; + + # 禁用缓冲 + proxy_buffering off; + + # 增加超时时间 + proxy_read_timeout 3600s; + proxy_send_timeout 3600s; + proxy_connect_timeout 60s; + + # 设置传递的请求头 + # proxy_set_header Connection ''; + # chunked_transfer_encoding off; + + # 如果需要保留自定义头部 + proxy_set_header Accept 'text/event-stream'; + } + + + location /newlog/realtimeLog { + proxy_pass http://loki.loki-log.svc:3100/loki/api/v1/tail; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header 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; + } + + location @router { + rewrite ^.*$ /index.html last; + } + + # 避免actuator暴露 + if ($request_uri ~ "/actuator") { + return 403; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + } +}