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-claude-docs-bunfig-missing-fields/ezY9cqHIbAlx71jp/icons/typescript.svg?fit=max&auto=format&n=ezY9cqHIbAlx71jp&q=85&s=fa9c9d5f512d0d81ae41ed65741d389aserver.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-claude-docs-bunfig-missing-fields/ezY9cqHIbAlx71jp/icons/typescript.svg?fit=max&auto=format&n=ezY9cqHIbAlx71jp&q=85&s=fa9c9d5f512d0d81ae41ed65741d389aserver.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")],
  },
});