server.js 1.72 KB
const express = require("express");
const fs = require("fs");
const path = require("path");
const HTTPS = require("https");

const app = express();
const domain = "2020105619.oss2021.tk";
const sslport = 8080;

const data = fs.readFileSync('database.json');
const conf = JSON.parse(data);
const mysql = require('mysql');

app.use(express.static(path.join(__dirname, "kakao")));
app.use(express.static(path.join(__dirname, "public")));

const connection = mysql.createConnection({
  host:conf.host,
  user:conf.user,
  password:conf.password,
  port:conf.port,
  database:conf.database
});

connection.connect();

app.get("/", function (req, res) {
  res.sendFile(path.join(__dirname + "/main.html"));
});

app.get("/geolocation", function (req, res) {
  res.sendFile(path.join(__dirname + "/kakao/kakaomap.html"));
  connection.query('SELECT * FROM csvdata.csvdata', function (error, results, fields) {
    if (error) {
        throw(error);
    }
    res.send(results);
  });
});

try {
  const option = {
    ca: fs.readFileSync("/etc/letsencrypt/live/" + domain + "/fullchain.pem"),
    key: fs
      .readFileSync(
        path.resolve(
          process.cwd(),
          "/etc/letsencrypt/live/" + domain + "/privkey.pem"
        ),
        "utf8"
      )
      .toString(),
    cert: fs
      .readFileSync(
        path.resolve(
          process.cwd(),
          "/etc/letsencrypt/live/" + domain + "/cert.pem"
        ),
        "utf8"
      )
      .toString(),
  };

  HTTPS.createServer(option, app).listen(sslport, () => {
    console.log(`[HTTPS] Server is started on port ${sslport}`);
  });
} catch (error) {
  console.log(
    "[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다."
  );
  console.log(error);
}