Skip to content

Bun unterstützt TLS sofort, angetrieben von BoringSSL. Aktivieren Sie TLS, indem Sie Werte für key und cert übergeben; beide sind erforderlich, um TLS zu aktivieren.

ts
Bun.serve({
  tls: {
    key: Bun.file("./key.pem"), 
    cert: Bun.file("./cert.pem"), 
  },
});

Die Felder key und cert erwarten die Inhalte Ihres TLS-Schlüssels und Zertifikats, nicht einen Pfad dazu. Dies kann ein String, BunFile, TypedArray oder Buffer sein.

ts
Bun.serve({
  tls: {
    key: Bun.file("./key.pem"), // BunFile
    key: fs.readFileSync("./key.pem"), // Buffer
    key: fs.readFileSync("./key.pem", "utf8"), // string
    key: [Bun.file("./key1.pem"), Bun.file("./key2.pem")], // array of above
  },
});

Passphrase

Wenn Ihr privater Schlüssel mit einer Passphrase verschlüsselt ist, geben Sie einen Wert für passphrase an, um ihn zu entschlüsseln.

ts
Bun.serve({
  tls: {
    key: Bun.file("./key.pem"),
    cert: Bun.file("./cert.pem"),
    passphrase: "my-secret-passphrase", 
  },
});

CA-Zertifikate

Optional können Sie die vertrauenswürdigen CA-Zertifikate überschreiben, indem Sie einen Wert für ca übergeben. Standardmäßig vertraut der Server der Liste bekannter CAs, die von Mozilla kuratiert wurde. Wenn ca angegeben wird, wird die Mozilla-Liste überschrieben.

ts
Bun.serve({
  tls: {
    key: Bun.file("./key.pem"), // Pfad zum TLS-Schlüssel
    cert: Bun.file("./cert.pem"), // Pfad zum TLS-Zertifikat
    ca: Bun.file("./ca.pem"), // Pfad zum Root-CA-Zertifikat
  },
});

Diffie-Hellman

Um Diffie-Hellman-Parameter zu überschreiben:

ts
Bun.serve({
  tls: {
    dhParamsFile: "/path/to/dhparams.pem", // Pfad zu Diffie-Hellman-Parametern
  },
});

Server Name Indication (SNI)

Um die Server Name Indication (SNI) für den Server zu konfigurieren, setzen Sie das serverName-Feld im tls-Objekt.

ts
Bun.serve({
  tls: {
    serverName: "my-server.com", // SNI
  },
});

Um mehrere Servernamen zuzulassen, übergeben Sie ein Array von Objekten an tls, jedes mit einem serverName-Feld.

ts
Bun.serve({
  tls: [
    {
      key: Bun.file("./key1.pem"),
      cert: Bun.file("./cert1.pem"),
      serverName: "my-server1.com", 
    },
    {
      key: Bun.file("./key2.pem"),
      cert: Bun.file("./cert2.pem"),
      serverName: "my-server2.com", 
    },
  ],
});

Bun von www.bunjs.com.cn bearbeitet