From b98c83582b6bbe1128044b14ea3d03e44c3bebd2 Mon Sep 17 00:00:00 2001 From: Audit Bot Date: Mon, 29 Jun 2026 22:11:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F=E9=99=90=E5=88=B6=E4=BB=8E=20800MB=20?= =?UTF-8?q?=E6=8F=90=E5=8D=87=E8=87=B3=202000MB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit P0 修复: - config.py: OSS_DIRECT_UPLOAD_MAX_MB 默认值从 800 改为 2000 - config.py: 添加 AliasChoices 支持 MAX_UPLOAD_SIZE_MB 环境变量 (.env.production 中 MAX_UPLOAD_SIZE_MB=2000 现在可被正确读取) P1 修复: - infra/nginx/xiaoxia-saas.conf: client_max_body_size 800m → 2g(3处) - infra/docker/nginx-production.conf: client_max_body_size 800m → 2g --- apps/api/app/config.py | 7 +++++-- infra/docker/nginx-production.conf | 2 +- infra/nginx/xiaoxia-saas.conf | 6 +++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/api/app/config.py b/apps/api/app/config.py index 811decbcc..00f6c9b92 100755 --- a/apps/api/app/config.py +++ b/apps/api/app/config.py @@ -1,7 +1,7 @@ import os from typing import Optional -from pydantic import field_validator +from pydantic import AliasChoices, Field, field_validator from pydantic_settings import BaseSettings, SettingsConfigDict @@ -83,7 +83,10 @@ class Settings(BaseSettings): OSS_ACCESS_KEY_ID: str = "" OSS_ACCESS_KEY_SECRET: str = "" OSS_BUCKET_NAME: str = "xiaoxia-autocut" - OSS_DIRECT_UPLOAD_MAX_MB: int = 800 + OSS_DIRECT_UPLOAD_MAX_MB: int = Field( + default=2000, + validation_alias=AliasChoices("OSS_DIRECT_UPLOAD_MAX_MB", "MAX_UPLOAD_SIZE_MB"), + ) OSS_DIRECT_UPLOAD_EXPRESS_SECRET: int = 900 LOG_LEVEL: str = "INFO" diff --git a/infra/docker/nginx-production.conf b/infra/docker/nginx-production.conf index 3b07b0be7..c13b9e0a4 100644 --- a/infra/docker/nginx-production.conf +++ b/infra/docker/nginx-production.conf @@ -8,7 +8,7 @@ server { gzip_vary on; gzip_min_length 1024; gzip_types text/plain text/css text/xml text/javascript application/javascript application/json application/xml+rss; - client_max_body_size 800m; + client_max_body_size 2g; location /api/ { proxy_pass http://xiaoxia-api-production:8000/api/; diff --git a/infra/nginx/xiaoxia-saas.conf b/infra/nginx/xiaoxia-saas.conf index c1996de6b..969caf864 100644 --- a/infra/nginx/xiaoxia-saas.conf +++ b/infra/nginx/xiaoxia-saas.conf @@ -28,7 +28,7 @@ server { include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; - client_max_body_size 800m; + client_max_body_size 2g; location / { proxy_pass http://127.0.0.1:3002/; @@ -51,7 +51,7 @@ server { include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; - client_max_body_size 800m; + client_max_body_size 2g; location /api/ { proxy_pass http://127.0.0.1:8001; @@ -112,7 +112,7 @@ server { include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; - client_max_body_size 800m; + client_max_body_size 2g; location / { proxy_pass http://127.0.0.1:3000/;