본문 바로가기
개발/Node JS

Node JS - Express, Socket.IO 서버 HTTPS 설정하기 (Setting up Express / Socket.IO Server with HTTPS)

by 피로물든딸기 2024. 4. 3.
반응형

Node JS 전체 링크

 

Node JS의 Express에서 HTTPS 적용 예시는 다음과 같다.

const fs = require("fs");
const https = require("https");
const cors = require("cors");
const app = express();

// express cors 설정
app.use(cors());

// 라우터 설정
// app.use("/router", router);

// HTTPS Options
const options = {
  key : fs.readdirSync("Your Key Path"),
  cert : fs.readdirSync("Your Certificate Path"),
  requestCert : false, // 클라이언트로부터 인증서를 요청할지 여부를 결정, default : false
  rejectUnauthorized : false, // 인증서가 유효하지 않은 경우 연결을 거부, default : true
}

app.get("/", (req, res) => {
  res.json({message : "get"});
});

const portNumber = 5000;
https.createServer(options, app).listen(port, function() {
  console.log("Create HTTPS server on port", portNumber);
});

 

Socket.IOHTTPS 설정은 다음과 같다.

const fs = require("fs");
const https = require("https");
const { Server } = require("socket.io");

// HTTPS Options
const options = {
  key : fs.readdirSync("Your Key Path"),
  cert : fs.readdirSync("Your Certificate Path"),
  requestCert : false, // 클라이언트로부터 인증서를 요청할지 여부를 결정, default : false
  rejectUnauthorized : false, // 인증서가 유효하지 않은 경우 연결을 거부, default : true
}

// create HTTPS Server
const portNumber = 5000;
const httpsServer = https.createServer(options).listen(port, function() {
  console.log("Create HTTPS server on port", portNumber);
});

// socket server with https
const io = new Server(httpsServer, {
  cors : {
    origin: "http://localhost:3000",
    // method ...
    // credentials ...
    // allowedHeaders ...
  }
})
반응형

댓글