Files
qlib/frontend/web/next.config.ts
T
Simon 2836efc607 fix(web): 调大 dev 同源代理超时,防止长选股请求被截断为 500
根因: next dev 的 rewrites 代理默认 30s 超时(http-proxy),而全市场
同步选股实测需 ~50s; 超时后代理断开连接, 前端收到
"POST /selections → 500: Internal Server Error"。
配置 experimental.proxyTimeout=300s 后, 经前端代理的选股请求
(52.9s) 验证返回 200。
2026-09-09 06:44:50 +08:00

21 lines
1.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { NextConfig } from "next";
const nextConfig: NextConfig = {
reactStrictMode: true,
// 局域网/远程设备访问 dev server 时,/_next/* 资源按允许来源放行(Next 15.5+)
allowedDevOrigins: ["192.168.1.160", "127.0.0.1", "localhost"],
// dev server 同源代理(rewrites)默认 30s 超时(http-proxy),而选股/因子研究等
// 同步后端接口需数十秒(全市场选股实测 ~50s),超过会被代理掐断成 500
// ("Failed to proxy ... socket hang up")。调大至 5 分钟,避免长研究请求被截断。
experimental: { proxyTimeout: 300_000 },
// 同源代理:页面请求 /api/* → 后端 FastAPI(默认 127.0.0.1:8000)
// 使任何 IP/域名访问前端都无需 CORS 与硬编码后端地址。
// 后端地址可用环境变量 BACKEND_API_URL 覆盖(如 0.0.0.0 部署到别的机器)。
async rewrites() {
const backend = process.env.BACKEND_API_URL ?? "http://127.0.0.1:8000";
return [{ source: "/api/:path*", destination: `${backend}/api/:path*` }];
},
};
export default nextConfig;