D2业务员H5+移动模拟全绿 / P2-2部署清单+ALLOWED_HOSTS通配符门 / P3-1跳过

This commit is contained in:
seagull
2026-09-12 12:18:37 +08:00
parent 6c0693d160
commit eef7be7258
6 changed files with 1023 additions and 1 deletions
+8
View File
@@ -16,6 +16,14 @@ if not _configured_hosts:
ALLOWED_HOSTS = [h.strip() for h in _configured_hosts.split(",") if h.strip()]
if not ALLOWED_HOSTS:
raise ImproperlyConfigured("DJANGO_ALLOWED_HOSTS 解析为空,请填入实际域名")
if "*" in ALLOWED_HOSTS:
# base 的 read_env 会把 backend/.env(dev 用,含 DJANGO_ALLOWED_HOSTS=*)
# 写进 os.environ;生产若不显式覆盖就会静默接受任意 Host。
# 通配符在生产无意义,直接拒绝,强制部署者显式声明域名。
raise ImproperlyConfigured(
"生产环境不允许 DJANGO_ALLOWED_HOSTS 含通配符 '*'(可能继承了 dev 的 .env),"
"请显式设置真实域名,如 DJANGO_ALLOWED_HOSTS=erp.example.com"
)
# PostgreSQL(用 DATABASE_URL 环境变量)
DATABASES = {