worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; root /usr/share/nginx/html; # 禁止访问的文件或目录 location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md) { return 404; } # 静态资源缓存设置 location ~ .*\.((gif|jpg|jpeg|png|bmp|swf))$ { expires 30d; error_log /dev/null; access_log /dev/null; } location ~ .*\.((js|css))$ { expires 12h; error_log /dev/null; access_log /dev/null; } # Vue3 前端路由处理 location / { try_files $uri $uri/ /index.html; } # 添加反向代理到后端服务 location /admin-api/ { proxy_pass http://easegen-admin:48080; # 指向后端服务容器的内部地址 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 允许跨域请求的头设置 add_header Access-Control-Allow-Origin $http_origin; add_header Access-Control-Allow-Credentials true; add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"; add_header Access-Control-Allow-Headers "*"; # 处理 OPTIONS 预检请求 if ($request_method = OPTIONS) { add_header Access-Control-Allow-Origin $http_origin; add_header Access-Control-Allow-Credentials true; add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"; add_header Access-Control-Allow-Headers "*"; return 204; } # 上传文件大小限制 client_max_body_size 50M; } error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; } }