Diskuze: Node.js a websocket secure
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
google = web socket js ssl lets encrypt
https://community.letsencrypt.org/…nce/125391/4
Tady pisi, ze pro WS je nutne vygenerovat spesl certifikat s ip adresou toho
ws
this.wsocket = new WebSocket(‘wss://109.74.193.127:3000’);
Jestli tam pouzivas certifikat https, tak ten je generovany pro jinou webovou sluzbu adresu a port.
Ahoj, nedávno jsem řešil něco podobného, mám server, tam mám web, také zabezpečený pomocí LetsEncrypt a potřeboval jsem to propojit dohromady s node.js, což byl celkem problém, především co se týče zabezpečení v prohlížeči, pokud jsem node.js neměl zabezpečené, zobrazovalo to mixed content a nejelo to, kdy jsem zkusil vlastnoručně podepsanej certifikát, tak zase problém, že to je bez autority, nakonec jsem vymyslel, že někde ten certifikát musím mít na serveru co se týče domény, tím pádem jsem použil ten samej i pro node, což vyšlo, jediné co je jinak je port, jinak doména pro node i web stejná. Tohle to mi funguje, s tím že tedy používám socket.io (nejsem expert na node, internet + pokus/omyl)
const app = require('express')();
const cors = require('cors');
const fs = require("fs");
var corsOptions = {
origin: "https://domena.cz",
methods: ["GET", "POST"],
allowedHeaders: ["my-custom-header"],
credentials: true
}
app.use(cors(corsOptions));
//VYTVOŘENÍ HTTPS SERVERU
const httpServer = require("https").createServer({
key: fs.readFileSync("/etc/letsencrypt/live/domena.cz/privkey.pem"),
cert: fs.readFileSync("/etc/letsencrypt/live/domena.cz/cert.pem"),
},app);
const options = {
cors: {
origin: "https://domena.cz",
methods: ["GET", "POST"],
allowedHeaders: ["my-custom-header"],
credentials: true
}
};
const io = require("socket.io")(httpServer, options);
//SPUŠTENÍ HTTPS SERVERU NA PORTU 3000
httpServer.listen(3000, () => {
console.log('Poslouchám na portu 3000');
});
Tak tvoje rada naprosto perfektní. V podstatě jsi do detailu přesně popsal můj problém, takže mockrát díky, podařilo se mi to vyřešit za pět minut
Zobrazeno 4 zpráv z 4.