Files
2026-09-19 16:35:35 +08:00

170 lines
5.3 KiB
Plaintext

#
# 通过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;
}
}