Skip to main content
Set the tls key to configure TLS. Both key and cert are required. The key should be the contents of your private key; cert should be the contents of your issued certificate. Use Bun.file() to read the contents.
https://mintcdn.com/bun-1dd33a4e/Hq64iapoQXHbYMEN/icons/typescript.svg?fit=max&auto=format&n=Hq64iapoQXHbYMEN&q=85&s=c6cceedec8f82d2cc803d7c6ec82b240server.ts
const server = Bun.serve({
	fetch: request => new Response('Welcome to Bun!'),
	tls: {
		cert: Bun.file('cert.pem'),
		key: Bun.file('key.pem'),
	},
});

By default Bun trusts the default Mozilla-curated list of well-known root CAs. To override this list, pass an array of certificates as ca.
https://mintcdn.com/bun-1dd33a4e/Hq64iapoQXHbYMEN/icons/typescript.svg?fit=max&auto=format&n=Hq64iapoQXHbYMEN&q=85&s=c6cceedec8f82d2cc803d7c6ec82b240server.ts
const server = Bun.serve({
	fetch: request => new Response('Welcome to Bun!'),
	tls: {
		cert: Bun.file('cert.pem'),
		key: Bun.file('key.pem'),
		ca: [Bun.file('ca1.pem'), Bun.file('ca2.pem')],
	},
});