반응형
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.IO의 HTTPS 설정은 다음과 같다.
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 ...
}
})
반응형
댓글