# # 通过IP地址访问的统一配置文件 # 支持静态文件服务和API代理 # 使用方式: http://YOUR_SERVER_IP (前端页面) # http://YOUR_SERVER_IP/api/ (API接口) server { listen 80; listen [::]:80; root /var/www/html/weiyuai/; index index.html index.htm index.nginx-debian.html; # 使用 _ 表示匹配任何未明确配置的域名/IP访问 # 如果需要限制特定IP,可以修改为: server_name 192.168.1.100 10.0.0.1; server_name _; # API路径代理到后端Spring Boot应用 location /api/ { proxy_pass http://weiyuai; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; include fastcgi_params; } # Visitor API路径代理 location /visitor/ { proxy_pass http://weiyuai; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; include fastcgi_params; } # Config API路径代理 location /config/ { proxy_pass http://weiyuai; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; include fastcgi_params; } # Auth API路径代理 location /auth/ { proxy_pass http://weiyuai; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; include fastcgi_params; } # Kaptcha验证码API路径代理 location /kaptcha/ { proxy_pass http://weiyuai; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; include fastcgi_params; } # 直接WebSocket和STOMP访问(不带任何前缀) location /stomp { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_pass http://weiyuai/stomp; # 为记录真实ip地址,而不是反向代理服务器地址 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; include fastcgi_params; } location /websocket { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_pass http://weiyuaiwss/websocket; # 为记录真实ip地址,而不是反向代理服务器地址 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; include fastcgi_params; } # 下载文件 location /download/ { alias /var/www/html/weiyuai/download/; charset utf-8; # 设置字符编码为UTF-8,解决中文乱码问题 autoindex on; autoindex_format html; #以html风格将目录展示在浏览器中 autoindex_exact_size off; #切换为 off 后,以可读的方式显示文件大小,单位为 KB、MB 或者 GB autoindex_localtime on; #以服务器的文件时间作为显示的时间 client_max_body_size 4048M; proxy_max_temp_file_size 4048M; proxy_send_timeout 600; #后端服务器数据回传时间(代理发送超时) proxy_read_timeout 600; #连接成功后,后端服务器响应时间(代理接收超时) #符合条件,直接下载 if ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$){ add_header Content-Disposition attachment; } } # 前端应用路由 location /admin/ { try_files $uri $uri/ /admin/index.html; } location /agent/ { try_files $uri $uri/ /agent/index.html; } location /chat/ { try_files $uri $uri/ /chat/index.html; } location /frame/ { try_files $uri $uri/ /chat/index.html; } location /docs/ { try_files $uri $uri/ /docs/index.html; } location /workflow/ { try_files $uri $uri/ /workflow/index.html; } location /notebase/ { try_files $uri $uri/ /notebase/index.html; } location /kanban/ { try_files $uri $uri/ /kanban/index.html; } # 帮助中心路由 location /helpcenter/ { try_files $uri $uri/ /helpcenter/index.html; } # 默认路由 - 主页面 location / { # 匹配所有路径,并尝试首先提供文件,然后目录,最后回退到index.html try_files $uri $uri/ /index.html; } #增加响应头 add_header X-Via $server_addr; add_header X-Cache $upstream_cache_status; ## 反向代理兜底处理 location @springboot { proxy_pass http://weiyuai; # 为记录真实ip地址,而不是反向代理服务器地址 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; include fastcgi_params; # 设置缓存 proxy_cache_valid 404 10m; } }