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;
|
}
|
|
}
|