Skip to content

Commit

Permalink
[UPDATE] 인증서 발급, 갱신, http->https 리디렉션
Browse files Browse the repository at this point in the history
  • Loading branch information
HyoTaek-Jang committed Feb 16, 2021
1 parent 1403907 commit dc8fda5
Show file tree
Hide file tree
Showing 8 changed files with 2,032 additions and 11 deletions.
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,12 @@ OurToDo는 PC, 크롬을 기준으로 제작되었습니다.

---

## Weather

- 위치정보허용 : 주소창 옆에 자물쇠 버튼 누르고, 위치를 허용한다.

---

## 기술스택

- 프론트 : html css js
Expand Down
99 changes: 99 additions & 0 deletions etc/www
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
#!/usr/bin/env node

/**
* Module dependencies.
*/

var app = require("../app");
var debug = require("debug")("myapp:server");
var http = require("http");
const https = require("https");
const fs = require("fs");

const options = {
// letsencrypt로 받은 인증서 경로를 입력
ca: fs.readFileSync("/etc/letsencrypt/live/ourtodo.site/fullchain.pem"),
key: fs.readFileSync("/etc/letsencrypt/live/ourtodo.site/privkey.pem"),
cert: fs.readFileSync("/etc/letsencrypt/live/ourtodo.site/cert.pem"),
};

/**
* Get port from environment and store in Express.
*/

var port = normalizePort(process.env.PORT || "3000");
app.set("port", port);

/**
* Create HTTP server.
*/

var server = http.createServer(app);

/**
* Listen on provided port, on all network interfaces.
*/

server.listen(port);
server.on("error", onError);
server.on("listening", onListening);

https.createServer(options, app).listen(443);

/**
* Normalize a port into a number, string, or false.
*/

function normalizePort(val) {
var port = parseInt(val, 10);

if (isNaN(port)) {
// named pipe
return val;
}

if (port >= 0) {
// port number
return port;
}

return false;
}

/**
* Event listener for HTTP server "error" event.
*/

function onError(error) {
if (error.syscall !== "listen") {
throw error;
}

var bind = typeof port === "string" ? "Pipe " + port : "Port " + port;

// handle specific listen errors with friendly messages
switch (error.code) {
case "EACCES":
console.error(bind + " requires elevated privileges");
process.exit(1);
break;
case "EADDRINUSE":
console.error(bind + " is already in use");
process.exit(1);
break;
default:
throw error;
}
}

/**
* Event listener for HTTP server "listening" event.
*/

function onListening() {
var addr = server.address();
var bind = typeof addr === "string" ? "pipe " + addr : "port " + addr.port;
debug("Listening on " + bind);

console.log("Server On port : " + port);
}
3 changes: 3 additions & 0 deletions myapp/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ const userRouter = require("./routes/user");
const mainRouter = require("./routes/main");
const cookieMiddle = require("./middleware/cookieMiddle");
const autoLoginMiddle = require("./middleware/autoLogin");
// const httpsRedirectMiddle = require("./middleware/httpsRedirect");

var app = express();

Expand Down Expand Up @@ -41,6 +42,8 @@ app.use(
},
})
);

// app.use(httpsRedirectMiddle);
app.use(cookieMiddle);
app.use(autoLoginMiddle);

Expand Down
2 changes: 0 additions & 2 deletions myapp/bin/www
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,4 @@ function onListening() {
var addr = server.address();
var bind = typeof addr === "string" ? "pipe " + addr : "port " + addr.port;
debug("Listening on " + bind);

console.log("Server On port : " + port);
}
9 changes: 9 additions & 0 deletions myapp/middleware/httpsRedirect.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
const httpsRedirect = (req, res, next) => {
if (!req.secure) {
res.redirect("https://" + "ourtodo.site" + req.url);
} else {
next();
}
};

module.exports = httpsRedirect;
Loading

0 comments on commit dc8fda5

Please sign in to comment.