Secure server
This commit is contained in:
parent
bacc913803
commit
b7eacc08e0
29
certificates/modernjsbook.crt
Normal file
29
certificates/modernjsbook.crt
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
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
|
||||||
|
-----END CERTIFICATE-----
|
||||||
27
certificates/modernjsbook.csr
Normal file
27
certificates/modernjsbook.csr
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
-----BEGIN CERTIFICATE REQUEST-----
|
||||||
|
MIIEijCCAnICAQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUx
|
||||||
|
ITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDCCAiIwDQYJKoZIhvcN
|
||||||
|
AQEBBQADggIPADCCAgoCggIBANbcHBybfkSZuPYvrLjOrX9W24YpwQvfRWLGYFXU
|
||||||
|
Abyu3kTjZkuYUI4nWgFcZXHoTGoes92SNL5OnOXPh2MQbyBU/5sVsuZnObtSPt80
|
||||||
|
95UeJrQSyAlSV5J5Q1yHs3qIEtq7MHJ02EgaysupNmiSctzdys+hGCavQ0Yl8StO
|
||||||
|
g4HF+0LD2OKfdxDSsYTWaZ10F6/AyPX4d4/tCm9RqZOJx/XRiDJ8uZjShApiJ+Hb
|
||||||
|
QkIybqVGx7NQSlA7kCbrS4s/Zl292l2G+O4/Wa0dxQSg9JjKg7/QwLt/m/MhNWEm
|
||||||
|
3fEWxfRYxABG1Y11OZDyXDNjX55gRHRJTZLMEgW+Dex38gHjKk2L6xuG7xrkBmk7
|
||||||
|
fB8UD42dEa/vToJ7L4hlvsaJZyhNinwsNf+ap+STfe34skokKawE5ASqwsK8cyBu
|
||||||
|
eX5CMjUYHSKdgR/B59v9HXbpvfh+SKN1j+dt4VrIsIMWLs8jzJ63vUdLyl19/29V
|
||||||
|
K/AKVouWvV/egF4IKAmZcRJ0V6kNqPI4PvlDgIiBmqafX7UArh9gNNf77cfOp6Xd
|
||||||
|
6PmEof1OW/WXtoI5QZMTTcJZJHZYH1S3WPQJYYsk7OKWy9LHKiieBAV7X0y+25yf
|
||||||
|
wZeWl/PJTWJiqkxjwoee3FF5Y0OpGGkZBUK/RTuVryHelMRucuS+oTsqk4HKiWp8
|
||||||
|
Ds8tAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAgEAZb2YXQ6hIBUM43neMJgS5FXU
|
||||||
|
JE6JjoDUSQQJhOLwpr9XMGhIBUZ6KPL7gh23ROk/LGIgZN7AxiLVS0Lx2zo9OpPb
|
||||||
|
lPXVn+NNTz8NU+WhsDP88aF0yfzr2YLs0wAsYE0tcFO4T8F4AzzIv5tEYewXn8rt
|
||||||
|
TKunAzimsgjYG6Sv+cWRfBj6c7SERHejbZ1oXajGovEN0LEOpdfuPnDuxFeicpCY
|
||||||
|
USDVSlsaK+QdB5IWg7Pp1kqC3MtksYTM1F79b/e5duv8xlpEasp5WxEgxPbM2ftK
|
||||||
|
1yvlYnk9Tn5W8lsG3Q2PW0pgEpCe2sb4UPqovyZHxIlY6689c2u/47+hTiwH6TRm
|
||||||
|
IoLDUJGhTHWMWUEFo41G9thjo082W0YtLkCfSHXGuazyhXPmWNYsVOaM4Md+7SeK
|
||||||
|
Pw0Btu1xj5MfHxL8RV8KP16TgCXYUjwIJ0oNp29i6KxW7HNabTM2npMEmg71m0OL
|
||||||
|
PJsBXXiJltBzHJ/J9oPrtnRrM6POLRm1A+QTeW0WngcOp2ivQqPjjByL7mHi767l
|
||||||
|
BdHYF55qHBzGlvyMFX3GrDZA4tg5dQER8sg3zErTC9amcfcidPq9Exym8GcY0fmg
|
||||||
|
ZK3SYc2M/pwKC8qcEe42I2qpSogUNkNIb1mQXE1hvk/Q6v+T8C5ZsLvrfQUFQPxX
|
||||||
|
OFc3s+ni/Q3lsi68jHc=
|
||||||
|
-----END CERTIFICATE REQUEST-----
|
||||||
52
certificates/modernjsbook.key
Normal file
52
certificates/modernjsbook.key
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
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
|
||||||
|
WW/Y0mIie3sbuxnOlxZ1ASzbJ66GFA==
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
@ -6,4 +6,8 @@ const app = express();
|
|||||||
|
|
||||||
app.get("/", (req, res) => res.send("Server alive, with Express!"));
|
app.get("/", (req, res) => res.send("Server alive, with Express!"));
|
||||||
|
|
||||||
app.listen(8080, () => console.log("Mini server (with Express) ready at http://localhost:8080/!"));
|
app.listen(8080, () =>
|
||||||
|
console.log(
|
||||||
|
"Mini server (with Express) ready at http://localhost:8080/!"
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|||||||
18
chapter04/src/http_server.js
Normal file
18
chapter04/src/http_server.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/* @flow */
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
const express = require("express");
|
||||||
|
const app = express();
|
||||||
|
const http = require("http");
|
||||||
|
|
||||||
|
http.createServer(app).listen(8080);
|
||||||
|
|
||||||
|
app.use((req, res, next) => {
|
||||||
|
if (req.secure) {
|
||||||
|
next();
|
||||||
|
} else {
|
||||||
|
res.redirect(
|
||||||
|
`https://${req.headers.host.replace(/8080/, "8443")}${req.url}`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
17
chapter04/src/https_server.js
Normal file
17
chapter04/src/https_server.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
/* @flow */
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
const express = require("express");
|
||||||
|
const app = express();
|
||||||
|
const https = require("https");
|
||||||
|
const fs = require("fs");
|
||||||
|
const path = require("path");
|
||||||
|
|
||||||
|
const keysPath = path.join(__dirname, "../../certificates");
|
||||||
|
const ca = fs.readFileSync(`${keysPath}/modernjsbook.csr`);
|
||||||
|
const cert = fs.readFileSync(`${keysPath}/modernjsbook.crt`);
|
||||||
|
const key = fs.readFileSync(`${keysPath}/modernjsbook.key`);
|
||||||
|
|
||||||
|
https.createServer({ ca, cert, key }, app).listen(8443);
|
||||||
|
|
||||||
|
app.get("/", (req, res) => res.send("Secure server!"));
|
||||||
Loading…
x
Reference in New Issue
Block a user