added https withe self sign ssl to backentd and healthcheck to frontend

This commit is contained in:
2025-09-10 22:07:15 +02:00
parent cf072cee0c
commit e7b964078c
12 changed files with 234 additions and 19 deletions

View File

@@ -9,6 +9,7 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
"cors": "^2.8.5",
"dotenv": "^17.2.2",
"express": "^5.1.0",
"mysql2": "^3.14.5"
@@ -145,6 +146,19 @@
"node": ">=6.6.0"
}
},
"node_modules/cors": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
"integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
"license": "MIT",
"dependencies": {
"object-assign": "^4",
"vary": "^1"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/debug": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
@@ -630,6 +644,15 @@
"node": ">= 0.6"
}
},
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/object-inspect": {
"version": "1.13.4",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",

View File

@@ -10,6 +10,7 @@
"start": "node src/index.js"
},
"dependencies": {
"cors": "^2.8.5",
"dotenv": "^17.2.2",
"express": "^5.1.0",
"mysql2": "^3.14.5"

21
backend/server.cert Normal file
View File

@@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDazCCAlOgAwIBAgIUUq6H25NfXBYaD9fbli2HGIQ1VxUwDQYJKoZIhvcNAQEL
BQAwRTELMAkGA1UEBhMCREUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNTA5MTAxOTM5MDlaFw0yNjA5
MTAxOTM5MDlaMEUxCzAJBgNVBAYTAkRFMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQCL+OkcPq5JwJ3t8Rm7rx02IcthoHGE+8EmclxWVhQ0
DYT8cLCyT9Ywo6KpVE9sLK3bBkG5/5lZ3obRw4p58yKwS4iIvH2cg79mlih6d1oM
P48Xkqc5yuKul5eOjoJ91SoSrjfzau/BzQfvFhUz070rkM/pTDifxSq5/Es2/gxO
GVKEyUBXl4dxNrhs+Kyel9owlEsAEFShzQMRG8kRNtefSLuSdfQTre1TZGGNx/bt
bceO7XIb/0kRBWPCZlPk5uTLHFhEDfVoTVCwXH3C9sLEzT2Zt5BeNRjLx838Dciu
tPaml7o8JkNtNS7fyAgcNvUQFJS1ce6U3/afyJHyDcVPAgMBAAGjUzBRMB0GA1Ud
DgQWBBRxwSd2xwdkqLroHeW5K5r9axklnTAfBgNVHSMEGDAWgBRxwSd2xwdkqLro
HeW5K5r9axklnTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAf
EmNPUoEp2ttS/NsKQbYXfX+fkSjhIrcXetTON05B5Pth3TDTp1YD6xPrhJ8No5/a
Nxv/nmKGVjtMluS5bmluinCpcHvtVUQDI9PH7lDWWcJcoqMiiNoVNykhZRaMR+b2
1pRukOe7PkiFpWuMFiyaon9dtGAxiutzRKRq5b46UpVlZUZM6Ch0EYygoJU8Fw2a
aMt3aso8R8ErpbtucEqGMRZkKERHX3qUraLtVLB2Stphumf05HWSibsuHD3ABnSB
Uirn8nDdwCCacN0P9bESSdVjnurJUPNcDW8v4NnE+L1/9M2wzusHczFwyg6nJ1mk
WeNLj9XcAC0wUnflA/uw
-----END CERTIFICATE-----

28
backend/server.key Normal file
View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCL+OkcPq5JwJ3t
8Rm7rx02IcthoHGE+8EmclxWVhQ0DYT8cLCyT9Ywo6KpVE9sLK3bBkG5/5lZ3obR
w4p58yKwS4iIvH2cg79mlih6d1oMP48Xkqc5yuKul5eOjoJ91SoSrjfzau/BzQfv
FhUz070rkM/pTDifxSq5/Es2/gxOGVKEyUBXl4dxNrhs+Kyel9owlEsAEFShzQMR
G8kRNtefSLuSdfQTre1TZGGNx/btbceO7XIb/0kRBWPCZlPk5uTLHFhEDfVoTVCw
XH3C9sLEzT2Zt5BeNRjLx838DciutPaml7o8JkNtNS7fyAgcNvUQFJS1ce6U3/af
yJHyDcVPAgMBAAECggEAQK18sdN435WEpG0zEdmh6uCExRDJQ8S9BJH1fuN5pG/W
0nsT+uEPPRxvzkSqCnc+wqVKe7LS3ocHzyfG9gDWN5Y/ecd3V3o9WB7sh2JdFqnL
6f2XDgpk4n4jxvis7Y4xSb59FhqEvQ2Lq/uNQoyFrfrVR50z0QffbV9aNggAEZnM
6c+Yz57Ez7ebxLGoLHf1sswytAjdLMZqVzUtaQp8ieTAILtG4RrAg+5DwKTe3JaF
cHkabDgrjs5b3L/Q/bSMtBXSALYQYW5L63AlW1Dp3pYXXdtGALfn2jOzLb0LZ2bc
dWL5GAGdPvlJJUGCx9BHMbUNQDW6KsUg2EHAfWlbeQKBgQC9i9qI5vz0DkZqWbHq
REngCBoFL3nvdvsil3ucwiTuSuuiLriFrofdRUtvCAJQSKhHOPGrxdZfm/IpXgtA
Ma82vGKEQIv/hhD/72X/U6pmd6vwmBwUm6DfoiIf4DQSAfABT2vTs5tk79svKcXH
CxwFuBHdlDU6f2MyhrroICjnUwKBgQC9C7H0kwnwjKL+KTW58LwtPsVG9D1rXeZe
DEHZ5sU9r0eRVV+30dtCl+Jj/MSZMtSvCJYYi4OLdCEG83X4UqxG2/UpxVbjgF8D
s5jhbko+3sB9n5DQ8msq99v9vw/dtbPboY0LixkQlKUooVWQYCmk5KafUFliH0hX
EZV0mmoWlQKBgQC162iPRMM6qgjDQdsUcP5GWwA+QdbSEmvuQ12MknlHi/ij7BuF
koErybogkptF2rZHxUuOBY8+rDm7oltB/W2hJyWWsSyszku6mFZYvEAroGgRvqwU
y1mXydDerxzKu7lSSJvAz/0w31SK65i69NqsUoIzHHAJ+QGIGO+ConsfqQKBgCc/
VFS4aincqMIngBX4Wrjx/Tb74fx2ZCtGVC2O8Yga6brMhLC/CsxKiB/GDHLZ0Ln+
CFtUK506INk2lllVoJqdc8qWQ7G7pv43vRegNB3VVRU/mWsnyQQErVGC5yJaZNrG
MWgiGrQMiDVlOUReEoc/STBuGAB9CiG5btPkcv35AoGBALiUO4aoKTEvo8AIZRv1
T2fj9oaP5uAvMb9BxKrRDGzLcJ64qvsag5t1IiiZJe85cP987Wp0k29dQgQq+9FY
UxeT1t63J9UrXZRkUThBbNd1/7MDwZhPe6VbZnK2uqv1Zn8+XmViNkeujzqXYRH1
TWaGeuGd0QsDq5RRSeSvQJHc
-----END PRIVATE KEY-----

View File

@@ -1,5 +1,8 @@
import dotenv from 'dotenv';
import fs from 'fs';
import https from 'https';
import express from 'express';
import cors from 'cors';
import path from 'path';
import { fileURLToPath } from 'url';
import apiRouter from './api.js';
@@ -12,6 +15,7 @@ const app = express();
db.initDB();
app.use(cors());
app.use(express.json())
app.use(express.urlencoded({ extended: true }))
//app.use(express.static(path.join(__dirname, "public"), {
@@ -19,6 +23,11 @@ app.use(express.urlencoded({ extended: true }))
//}));
app.use("/api", apiRouter);
const server = app.listen(5555, () => {
const options = {
key: fs.readFileSync('server.key'),
cert: fs.readFileSync('server.cert')
};
const server = https.createServer(options, app).listen(5555, () => {
console.log(`Server running on http://localhost:${server.address().port}`);
});