From d78658a4821ac63aaa46564385fcdc820ec6c554 Mon Sep 17 00:00:00 2001 From: Ives van Hoorne Date: Fri, 31 Jan 2025 10:17:38 +0100 Subject: [PATCH 1/2] feat: support __VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS for defining allowed hosts --- packages/vite/src/node/server/index.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index b3c10bccf92456..3825ec52c4e028 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -1154,6 +1154,17 @@ export function resolveServerOptions( ) } + if ( + process.env.__VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS && + Array.isArray(server.allowedHosts) + ) { + const additionalHosts = process.env.__VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS + .split(',') + .map((h) => h.trim()) + + server.allowedHosts = [...server.allowedHosts, ...additionalHosts] + } + return server } From fa9ddc8e5da9182b3906b25a06ff9dfee71aaf32 Mon Sep 17 00:00:00 2001 From: Ives van Hoorne Date: Tue, 4 Feb 2025 20:26:58 +0100 Subject: [PATCH 2/2] process feedback --- docs/config/server-options.md | 4 ++++ packages/vite/src/node/server/index.ts | 7 ++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/config/server-options.md b/docs/config/server-options.md index a4031d6828e584..5263690dc28a80 100644 --- a/docs/config/server-options.md +++ b/docs/config/server-options.md @@ -56,6 +56,10 @@ If a string starts with `.`, it will allow that hostname without the `.` and all If set to `true`, the server is allowed to respond to requests for any hosts. This is not recommended as it will be vulnerable to DNS rebinding attacks. +::: details Configure via environment variable +You can set the environment variable `__VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS` to add an additional allowed host. +::: + ## server.port - **Type:** `number` diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 3825ec52c4e028..1e4328c5129b98 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -1158,11 +1158,8 @@ export function resolveServerOptions( process.env.__VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS && Array.isArray(server.allowedHosts) ) { - const additionalHosts = process.env.__VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS - .split(',') - .map((h) => h.trim()) - - server.allowedHosts = [...server.allowedHosts, ...additionalHosts] + const additionalHost = process.env.__VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS + server.allowedHosts = [...server.allowedHosts, additionalHost] } return server