Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Start on multiple hosts #16350

Open
4 tasks done
boindil opened this issue Apr 4, 2024 · 6 comments
Open
4 tasks done

Start on multiple hosts #16350

boindil opened this issue Apr 4, 2024 · 6 comments
Labels
enhancement New feature or request

Comments

@boindil
Copy link

boindil commented Apr 4, 2024

Description

It seems as if it is not possible to start using multiple IPs/hosts. I've tried separating by comma, but thats throwing an error. As of now it seems that it's only possible to use one host or all ...

Suggested solution

add support for multiple hosts (perferrably as array: host: string | boolean | array).

Alternative

No response

Additional context

No response

Validations

@bluwy
Copy link
Member

bluwy commented Apr 9, 2024

Can you explain why you want to start on multiple host? Node.js createServer only supports starting on one host (unless DNS could resolve multiple different hosts to this one).

@tszyuloveyou
Copy link

Can you explain why you want to start on multiple host? Node.js createServer only supports starting on one host (unless DNS could resolve multiple different hosts to this one).

multiple sub-domain, eg laravel route support multiple domain and php artisan serve not support ssl, so just can use vite/apache to run ssl to dev

@bluwy
Copy link
Member

bluwy commented May 8, 2024

I suppose we can call .listen() multiple times to support multiple hosts, but it doesn't seem like a common usecase. There's the same discussion in webpack: webpack/webpack-dev-server#400

@bluwy bluwy added enhancement New feature or request and removed enhancement: pending triage labels May 8, 2024
@KevsRepos
Copy link

I am currently facing the same issue. The app will run on multiple subdomains in production and I need to replicate this for development.

@noyoliel-devocean
Copy link

noyoliel-devocean commented Jun 24, 2024

facing the same issue. I would like to run an instance for each of the environments: mock data environment, dev environment and production environment simultaneously
Each environment is using HTTPS protocol and runs on port 443 with different host names

@MarcusCaspeco
Copy link

I have a use case for this as well (originally reported in #18469)

TLDR: I want vite to run on IPv4 (127.0.0.1) and IPv6 (::1) simultaneously to make it easier for us to use a custom domain for local development (e.g. local.example.com points to either 127.0.0.1 or ::1, but we don't know if the developer uses IPv4 or IPv6 on their machine, local.example.com can use IPv4 while localhost uses IPv6, leading to a mismatch)

My workaround ended up being this, so it's still just listening on a single host, but we're smarter about how to pick it:

const { family } = await dns.promises.lookup("local.example.com");

export default defineConfig({
	plugins: [tsconfigPaths(), react()],
	server: {
		port: 3000,
		host: family === 6 ? "::1" : "127.0.0.1",
	},
});

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants