Skip to content

Commit 701eaad

Browse files
authored
Fix use of server actions with proxied domains by using middleware (#2913)
1 parent c66ef5d commit 701eaad

File tree

3 files changed

+6
-12
lines changed

3 files changed

+6
-12
lines changed

packages/gitbook-v2/next.config.mjs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,6 @@
66
const nextConfig = {
77
experimental: {
88
useCache: true,
9-
serverActions: {
10-
// Allow all origins for server actions
11-
// as we serve content on a lot of domains
12-
// Server actions are secured by the middleware.
13-
allowedOrigins: ['*', '*.*', '*.*.*', '*.*.*.*', '*.*.*.*.*'],
14-
},
159
},
1610

1711
env: {

packages/gitbook-v2/src/middleware.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ async function serveSiteByURL(request: NextRequest, urlWithMode: URLWithMode) {
7777
}
7878
}
7979

80+
// Pass a x-forwarded-host and origin that are equal to ensure Next doesn't block server actions when proxied
81+
requestHeaders.set('x-forwarded-host', request.nextUrl.host);
82+
requestHeaders.set('origin', request.nextUrl.origin);
83+
8084
const route = [
8185
'sites',
8286
routeType,
@@ -87,7 +91,8 @@ async function serveSiteByURL(request: NextRequest, urlWithMode: URLWithMode) {
8791

8892
console.log(`rewriting to ${route}`);
8993

90-
const response = NextResponse.rewrite(new URL(`/${route}`, request.url), {
94+
const rewrittenURL = new URL(`/${route}`, request.nextUrl.toString());
95+
const response = NextResponse.rewrite(rewrittenURL, {
9196
request: {
9297
headers: requestHeaders,
9398
},

packages/gitbook/e2e/customers.spec.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -225,11 +225,6 @@ const testCases: TestsCase[] = [
225225
baseUrl: 'https://docs.raydium.io',
226226
tests: [{ name: 'Home', url: '/' }],
227227
},
228-
{
229-
name: 'docs.solv.finance',
230-
baseUrl: 'https://docs.solv.finance',
231-
tests: [{ name: 'Home', url: '/' }],
232-
},
233228
{
234229
name: 'docs.fluentbit.io',
235230
baseUrl: 'https://docs.fluentbit.io',

0 commit comments

Comments
 (0)