- remove Next.js rewrites to http://127.0.0.1:8000 - require NEXT_PUBLIC_BACKEND_URL in API routes (config, financials, config/test) - prevent accidental fallback to host ports; use container service name backend:8000
27 lines
972 B
TypeScript
27 lines
972 B
TypeScript
import { NextRequest } from 'next/server';
|
|
|
|
const BACKEND_BASE = process.env.NEXT_PUBLIC_BACKEND_URL;
|
|
|
|
export async function GET() {
|
|
if (!BACKEND_BASE) {
|
|
return new Response('NEXT_PUBLIC_BACKEND_URL 未配置', { status: 500 });
|
|
}
|
|
const resp = await fetch(`${BACKEND_BASE}/config`);
|
|
const text = await resp.text();
|
|
return new Response(text, { status: resp.status, headers: { 'Content-Type': resp.headers.get('Content-Type') || 'application/json' } });
|
|
}
|
|
|
|
export async function PUT(req: NextRequest) {
|
|
if (!BACKEND_BASE) {
|
|
return new Response('NEXT_PUBLIC_BACKEND_URL 未配置', { status: 500 });
|
|
}
|
|
const body = await req.text();
|
|
const resp = await fetch(`${BACKEND_BASE}/config`, {
|
|
method: 'PUT',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body,
|
|
});
|
|
const text = await resp.text();
|
|
return new Response(text, { status: resp.status, headers: { 'Content-Type': resp.headers.get('Content-Type') || 'application/json' } });
|
|
}
|