今度はExpress.jsを使用して、もう一度やり直してください
node.jsのexpress.jsを使用して、説明されているhttpsファイルサーバーの実装を次に示します。

「const https = require（ 'https'）;
const express = require（ 'express'）;

const app = express（）;

const options = {
  キー：fs.readfilesync（ 'server.key'）、
  cert：fs.readfilesync（ 'server.crt'）
};

const clients = new set（）;

app.get（ '/：filename'、（req、res）=> {
  const {ip} = req.Connection;
  if（clients.has（ip））{
    Res.Status（403）.send（ '<html> <body> <h1> 403 ilbridden </h1> </body> </html>'）;
  } それ以外 {
    clients.add（ip）;
    const {filename} = req.params;
    fs.Access（filename、fs.constants.r_ok、（err）=> {
      if（err）{
        Res.Status（404）.send（ '<html> <body> <h1> 404が見つかりません</h1> </body> </html>'）;
      } それ以外 {
        fs.readfile（filename、（error、data）=> {
          if（error）{
            Res.Status（500）.Send（ '<html> <body> <h1> 500内部サーバーエラー</h1> </body> </html>'）;
          } それ以外 {
            Res.Status（200）.send（data）;
            fs.unlink（filename、（linkerror）=> {
              if（loninkerror）{
                Console.Error（linkerror）;
              }
            }）;
          }
        }）;
      }
    }）;
  }
}）;

https.createserver（options、app）.listen（443、（）=> {
  console.log（ 'httpsファイルサーバーがポート443でリスニングされています'）;
}）; `` `

この実装では、FS、HTTPS、およびExpressライブラリを使用して、HTTPSを介してファイルを提供します。Expressライブラリは、着信HTTP要求を処理し、HTTP応答を送信するために使用されます。

「クライアント」セットは、接続されたクライアントを追跡し、各ファイルが単一のIPアドレスに1回しか提供されていないことを確認するために使用されます。`app.get`メソッドは、着信GETリクエストを処理し、要求されたファイルを提供するために使用されます。ファイルが見つからない場合、関数は404ステータスコードのエラーページを送信します。接続IPアドレスが既にファイルを受信している場合、関数は403ステータスコードのエラーページを送信します。

この実装は、基本的な出発点でもあり、必要に応じて拡張できることに注意してください。