Security: disable Swagger in prod, remove debug field #7
+1
-2
@@ -5,10 +5,9 @@
|
||||
# 运行时配置
|
||||
############
|
||||
ERYAO_RUNTIME__ENVIRONMENT=dev
|
||||
ERYAO_RUNTIME__DEBUG=true
|
||||
ERYAO_RUNTIME__LOG_LEVEL=INFO
|
||||
ERYAO_RUNTIME__SQL_LOG_QUERIES=false
|
||||
ERYAO_RUNTIME__TRUSTED_PROXY_IPS=[]
|
||||
ERYAO_RUNTIME__TRUSTED_PROXY_IPS='["127.0.0.1", "172.18.0.1"]'
|
||||
|
||||
############
|
||||
# Web 服务器配置(Uvicorn)
|
||||
|
||||
+8
-1
@@ -48,7 +48,14 @@ async def lifespan(_: FastAPI) -> AsyncGenerator[None, None]:
|
||||
logger.info("Base services closed", services=SERVICE_STARTUP_ORDER)
|
||||
|
||||
|
||||
app = FastAPI(lifespan=lifespan)
|
||||
_is_prod = config.runtime.environment == "prod"
|
||||
|
||||
app = FastAPI(
|
||||
lifespan=lifespan,
|
||||
docs_url=None if _is_prod else "/docs",
|
||||
redoc_url=None if _is_prod else "/redoc",
|
||||
openapi_url=None if _is_prod else "/openapi.json",
|
||||
)
|
||||
app.add_middleware(
|
||||
CORSMiddleware,
|
||||
allow_origins=config.cors.allow_origins,
|
||||
|
||||
@@ -35,7 +35,6 @@ def _resolve_project_root() -> Path:
|
||||
class RuntimeSettings(BaseModel):
|
||||
environment: Literal["dev", "test", "prod"] = "dev"
|
||||
service_name: str = "app"
|
||||
debug: bool = True
|
||||
log_level: str = "INFO"
|
||||
log_json: bool = True
|
||||
log_rotation: Literal["time", "size", "none"] = "time"
|
||||
|
||||
Reference in New Issue
Block a user