server { listen 8080; server_name localhost; client_body_timeout 180; proxy_read_timeout 120; client_max_body_size 10m; # gzip gzip on; gzip_comp_level 5; gzip_min_length 1k; gzip_buffers 4 16k; gzip_proxied any; gzip_vary on; gzip_types application/javascript application/x-javascript text/javascript text/css text/xml application/xhtml+xml application/xml application/atom+xml application/rdf+xml application/rss+xml application/geo+json application/json application/manifest+json image/svg+xml text/x-cross-domain-policy; gzip_static on; gzip_disable "MSIE [1-6]\."; access_log /var/log/nginx/host.access.log main; # region --- api前缀 后端映射 --- # k8s dns地址解析 # resolver kube-dns.kube-system valid=30s; # location /api/abc/ { # set $target abc..:8080; # rewrite /api/abc/(.*) /$1 break; # proxy_pass http://$target; # # proxy_http_version 1.1; # proxy_set_header Connection ""; # proxy_set_header Host $http_host; # proxy_set_header X-Real-IP $remote_addr; # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # } # endregion # 前端静态文件 正常缓存 静态资源加跨域头方便微前端 location ~* \.(css|js|gif|jpg|jpeg|png|svg|ico|eot|otf|fon|font|ttf|ttc|woff|woff2)$ { root /usr/share/nginx/html; add_header Access-Control-Allow-Origin *; expires 180d; } # 前端html文件 禁止缓存 location / { add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate"; add_header Access-Control-Allow-Origin *; root /usr/share/nginx/html; index index.html; # 单页应用配置 try_files $uri $uri/ /index.html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }