# ========================================== # 1. 图像精修编辑器 (miniPaint) # ========================================== server { # 【安全与协议】统一监听 9081 端口 listen 9081 ssl http2; # 静态资源非常依赖 HTTP/2 的多路复用来并发下载碎片化 JS 文件 server_name paint.yanchang.cc; ssl_certificate /etc/nginx/ssl/www.yanchang.pem; ssl_certificate_key /etc/nginx/ssl/www.yanchang.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; # 【网络层优化】保留你的风格,减小 SSL 缓冲区提升首字节响应速度 ssl_buffer_size 4k; # 【核心指向】纯静态托管,直接指向物理目录,无需 proxy_pass root /opt/image-tools/minipaint; index index.html; # 【传输优化】开启 Gzip,极大地压缩前端 JS 和 CSS 文件体积 gzip on; gzip_min_length 1k; gzip_types text/plain text/css application/javascript application/json application/wasm; location / { try_files $uri $uri/ /index.html; } # 【缓存优化】让浏览器缓存静态资源,第二次打开秒进 location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|wasm)$ { expires 30d; add_header Cache-Control "public, no-transform"; } } # ========================================== # 2. 极限图像压缩 (Squoosh) # ========================================== server { listen 9081 ssl http2; server_name squoosh.yanchang.cc; ssl_certificate /etc/nginx/ssl/www.yanchang.pem; ssl_certificate_key /etc/nginx/ssl/www.yanchang.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_buffer_size 4k; root /opt/image-tools/squoosh; index index.html; gzip on; gzip_min_length 1k; gzip_types text/plain text/css application/javascript application/json application/wasm; location / { try_files $uri $uri/ /index.html; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|wasm)$ { expires 30d; add_header Cache-Control "public, no-transform"; } } # ========================================== # 3. ittools # ========================================== server { listen 9081 ssl http2; server_name itools.yanchang.cc; ssl_certificate /etc/nginx/ssl/www.yanchang.pem; ssl_certificate_key /etc/nginx/ssl/www.yanchang.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_buffer_size 4k; root /opt/image-tools/ittools; index index.html; # 【关键修复】引入系统默认的 MIME 类型字典,让 Nginx 重新认识 html/css/js include /etc/nginx/mime.types; gzip on; gzip_min_length 1k; gzip_types text/plain text/css application/javascript application/json application/wasm; location / { try_files $uri $uri/ /index.html; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|wasm)$ { expires 30d; add_header Cache-Control "public, no-transform"; } } # ========================================== # 4. excalidraw # ========================================== server { listen 9081 ssl http2; server_name excalidraw.yanchang.cc; ssl_certificate /etc/nginx/ssl/www.yanchang.pem; ssl_certificate_key /etc/nginx/ssl/www.yanchang.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_buffer_size 4k; root /opt/image-tools/excalidraw; index index.html; # 【关键修复】引入系统默认的 MIME 类型字典,让 Nginx 重新认识 html/css/js include /etc/nginx/mime.types; gzip on; gzip_min_length 1k; gzip_types text/plain text/css application/javascript application/json application/wasm; location / { try_files $uri $uri/ /index.html; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|wasm)$ { expires 30d; add_header Cache-Control "public, no-transform"; } }