mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-21 01:53:26 +00:00
Fix use of server actions with proxied domains by using middleware (#2913)
This commit is contained in:
@@ -6,12 +6,6 @@
|
||||
const nextConfig = {
|
||||
experimental: {
|
||||
useCache: true,
|
||||
serverActions: {
|
||||
// Allow all origins for server actions
|
||||
// as we serve content on a lot of domains
|
||||
// Server actions are secured by the middleware.
|
||||
allowedOrigins: ['*', '*.*', '*.*.*', '*.*.*.*', '*.*.*.*.*'],
|
||||
},
|
||||
},
|
||||
|
||||
env: {
|
||||
|
||||
@@ -77,6 +77,10 @@ async function serveSiteByURL(request: NextRequest, urlWithMode: URLWithMode) {
|
||||
}
|
||||
}
|
||||
|
||||
// Pass a x-forwarded-host and origin that are equal to ensure Next doesn't block server actions when proxied
|
||||
requestHeaders.set('x-forwarded-host', request.nextUrl.host);
|
||||
requestHeaders.set('origin', request.nextUrl.origin);
|
||||
|
||||
const route = [
|
||||
'sites',
|
||||
routeType,
|
||||
@@ -87,7 +91,8 @@ async function serveSiteByURL(request: NextRequest, urlWithMode: URLWithMode) {
|
||||
|
||||
console.log(`rewriting to ${route}`);
|
||||
|
||||
const response = NextResponse.rewrite(new URL(`/${route}`, request.url), {
|
||||
const rewrittenURL = new URL(`/${route}`, request.nextUrl.toString());
|
||||
const response = NextResponse.rewrite(rewrittenURL, {
|
||||
request: {
|
||||
headers: requestHeaders,
|
||||
},
|
||||
|
||||
@@ -225,11 +225,6 @@ const testCases: TestsCase[] = [
|
||||
baseUrl: 'https://docs.raydium.io',
|
||||
tests: [{ name: 'Home', url: '/' }],
|
||||
},
|
||||
{
|
||||
name: 'docs.solv.finance',
|
||||
baseUrl: 'https://docs.solv.finance',
|
||||
tests: [{ name: 'Home', url: '/' }],
|
||||
},
|
||||
{
|
||||
name: 'docs.fluentbit.io',
|
||||
baseUrl: 'https://docs.fluentbit.io',
|
||||
|
||||
Reference in New Issue
Block a user