elysia-server/docker/nginx/conf/conf.d/default.conf
2025-11-04 09:22:20 +08:00

61 lines
1.9 KiB
Plaintext

server {
listen 4560;
server_name _;
location / {
root /etc/nginx/html;
index index.html index.htm;
if ($request_method ~* "(GET|POST)") {
add_header "Access-Control-Allow-Origin" *;
}
if ($request_method = OPTIONS ) {
add_header "Access-Control-Allow-Origin" *;
add_header "Access-Control-Allow-Methods" "GET, POST, OPTIONS, HEAD";
add_header "Access-Control-Allow-Headers" "Authorization, Origin, X-Requested-With, Content-Type, Accept";
return 200;
}
}
location /api/ {
# 公共头
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;
if ($request_uri ~ ^/api/server/?(.*)$) {
rewrite ^/api/server/?(.*)$ /server/$1 break;
proxy_pass http://elysia-chat:4561;
}
if ($request_uri ~ ^/api/authorization/?(.*)$) {
rewrite ^/api/authorization/?(.*)$ /server/$1 break;
proxy_pass http://elysia-authorization:4562;
}
if ($request_uri ~ ^/api/chat/?(.*)$) {
rewrite ^/api/chat/?(.*)$ /chat/$1 break;
proxy_pass http://elysia-authorization:4563;
}
}
location /oss/ {
alias /etc/nginx/metadata;
autoindex on; # 是否允许目录浏览(可选)
autoindex_exact_size off; # 文件大小显示为可读形式(可选)
autoindex_localtime off; # 显示文件本地时间(可选)
}
location /socket {
proxy_pass http://elysia-chat:4563;
# 必须支持 WebSocket 协议升级
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;
}
}