1. ホーム
  2. javascript

[解決済み] Node.jsでHTTPSサーバーを作成する方法とは?

2022-03-25 19:33:09

質問

SSLキーと証明書がある場合、どのようにHTTPSサービスを作成するのですか?

どのように解決するのですか?

Node 0.3.4以降、現在のLTS(この編集の時点ではv16)までのすべてのバージョンに対応しています。 https://nodejs.org/api/https.html#httpscreateserveroptions-requestlistener には、必要なサンプルコードがすべてあります。

const https = require(`https`);
const fs = require(`fs`);

const options = {
  key: fs.readFileSync(`test/fixtures/keys/agent2-key.pem`),
  cert: fs.readFileSync(`test/fixtures/keys/agent2-cert.pem`)
};

https.createServer(options, (req, res) => {
  res.writeHead(200);
  res.end(`hello world\n`);
}).listen(8000);

Let's Encrypt の証明書を使う場合は certbot ツールでは、秘密鍵は privkey.pem という名前になり、証明書は fullchain.pem :

const certDir = `/etc/letsencrypt/live`;
const domain = `YourDomainName`;
const options = {
  key: fs.readFileSync(`${certDir}/${domain}/privkey.pem`),
  cert: fs.readFileSync(`${certDir}/${domain}/fullchain.pem`)
};