50b139c97a
- 打印改为 Web 平台用 HTML+CSS 方案,避免 pdf 包中文字体 bug - 新增 print_util.dart 条件导入层(web/stub),彻底隔离 platform channel - XLS 导入不再依赖 DIMENSIONS 记录的 MaxRow,改为读到连续5空行停止 - Nginx /images/ 加 ^~ 前缀,防止 .jpg 正则 location 拦截 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
39 lines
1.0 KiB
Plaintext
39 lines
1.0 KiB
Plaintext
server {
|
|
listen 127.0.0.1:8445 ssl;
|
|
server_name jiu.51yanmei.com;
|
|
|
|
ssl_certificate /etc/letsencrypt/live/jiu.51yanmei.com/fullchain.pem;
|
|
ssl_certificate_key /etc/letsencrypt/live/jiu.51yanmei.com/privkey.pem;
|
|
ssl_protocols TLSv1.2 TLSv1.3;
|
|
ssl_ciphers HIGH:!aNULL:!MD5;
|
|
|
|
root /opt/jiu/web;
|
|
index index.html;
|
|
|
|
# 商品图片静态文件(^~ 阻止正则 location 拦截 .jpg 等后缀请求)
|
|
location ^~ /images/ {
|
|
alias /opt/jiu/images/;
|
|
expires 30d;
|
|
add_header Cache-Control "public, immutable";
|
|
}
|
|
|
|
# API 反向代理
|
|
location ~ ^/(api|health|version) {
|
|
proxy_pass http://127.0.0.1:8080;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_read_timeout 30s;
|
|
}
|
|
|
|
# Flutter SPA fallback
|
|
location / {
|
|
try_files $uri $uri/ /index.html;
|
|
}
|
|
}
|
|
|
|
server {
|
|
listen 80;
|
|
server_name jiu.51yanmei.com;
|
|
return 301 https://$host$request_uri;
|
|
}
|