Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

std/http/server.ts>serveTls

Deno standard library
Go to Latest
The Standard Library has been moved to JSR. See the blog post for details.
function serveTls
Deprecated
Deprecated

(will be removed after 1.0.0) Use Deno.serve instead.

Serves HTTPS requests with the given handler.

You must specify key or keyFile and cert or certFile options.

You can specify an object with a port and hostname option, which is the address to listen on. The default is port 8443 on hostname "0.0.0.0".

The below example serves with the default port 8443.

import { serveTls } from "https://deno.land/std@0.212.0/http/server.ts";

const cert = "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n";
const key = "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n";
serveTls((_req) => new Response("Hello, world"), { cert, key });

// Or

const certFile = "/path/to/certFile.crt";
const keyFile = "/path/to/keyFile.key";
serveTls((_req) => new Response("Hello, world"), { certFile, keyFile });

serveTls function prints the message Listening on https://<hostname>:<port>/ on start-up by default. If you like to change this message, you can specify onListen option to override it.

import { serveTls } from "https://deno.land/std@0.212.0/http/server.ts";
const certFile = "/path/to/certFile.crt";
const keyFile = "/path/to/keyFile.key";
serveTls((_req) => new Response("Hello, world"), {
certFile,
keyFile,
onListen({ port, hostname }) {
console.log(`Server started at https://${hostname}:${port}`);
// ... more info specific to your server ..
},
});

You can also specify undefined or null to stop the logging behavior.

import { serveTls } from "https://deno.land/std@0.212.0/http/server.ts";
const certFile = "/path/to/certFile.crt";
const keyFile = "/path/to/keyFile.key";
serveTls((_req) => new Response("Hello, world"), {
certFile,
keyFile,
onListen: undefined,
});
import { serveTls } from "https://deno.land/std@0.212.0/http/server.ts";

Parameters

handler: Handler

The handler for individual HTTPS requests.

options: ServeTlsInit

The options. See ServeTlsInit documentation for details.

Returns

Promise<void>