nodejs 웹서버 예제
목차
기본 모듈만 사용
http, https 모듈로 웹서버 만들기
내용이 길어 파일로 분리하였다.
express
express 모듈 설치 필요
1
npm install express 필요
http 웹서버
1
2
3
4
5
6
7
8
9
10
11
const express = require('express');
const app = express();
const port = 80;
app.get('/', (req, res) => {
res.send('test');
});
app.listen(port, () => {
console.log("server start (port " + port.toString() + ")");
});
https 웹서버
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
const SSL_CRT = "/path/to/server.crt";
const SSL_KEY = "/path/to/server.key";
const webdir = "/var/www/html"
const port = 443;
const https = require('https');
const express = require('express');
const fs = require('fs');
const app = express();
// app.use('/', express.static('./public'));
const certificate = fs.readFileSync(SSL_CRT);
const privateKey = fs.readFileSync(SSL_KEY);
const options = {
key: privateKey,
cert: certificate
};
app.get('/', (req, res) => {
fs.readFile(webdir + '/nodetest.html', (err, data) => { // 파일 읽는 메소드
if (err) {
res.statusCode = 404; // 404 상태 코드
res.end('404 Not Found', 'utf-8');
return console.error(err); // 에러 발생시 에러 기록하고 종료
}
res.writeHead(200,{'Content-Type':'text/html'}); // header 설정
res.end(data, 'utf-8'); // 브라우저로 전송
});
});
const httpsServer = https.createServer(options, app);
httpsServer.listen(port, function () {
console.log("HTTPS server listening on port " + port);
});
This post is licensed under CC BY 4.0 by the author.