Files

84 lines
2.5 KiB
Nginx Configuration File
Raw Permalink Normal View History

2026-04-13 11:34:23 +08:00
events {
worker_connections 1024;
}
http {
client_max_body_size 100M;
upstream frontend {
server frontend:3000;
}
upstream backend {
server backend:8000;
}
upstream minio {
server minio:9000;
}
# Default server block for both IP and nip.io access
server {
# change the port you want to use, but not 3000
listen 80 default_server;
# support any nip.io domain and direct IP access
# if you want to deploy on a cloud server,
# you can change the server_name to your server's domain name
server_name _ *.nip.io;
# Backend API
location /api {
proxy_pass http://backend/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;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_buffering off;
}
# Frontend
location / {
proxy_pass http://frontend;
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 Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_buffering off;
proxy_http_version 1.1;
proxy_read_timeout 60s;
proxy_cache_bypass $http_upgrade;
}
# Next.js 静态文件和 API 路由
location /_next/ {
proxy_pass http://frontend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
# API Documentation (Redoc)
location /redoc {
proxy_pass http://backend/redoc;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# API Documentation (OpenAPI JSON)
location /openapi.json {
proxy_pass http://backend/openapi.json;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}