Create file server.crt
file along side with server.js
. Here's the code:
-----BEGIN CERTIFICATE-----
MIIDljCCAn6gAwIBAgIJAMkPpczHrXbcMA0GCSqGSIb3DQEBCwUAMA0xCzAJBgNV
BAYTAklEMB4XDTE5MDQyNzAyMTQyMVoXDTIwMDkwODAyMTQyMVowgawxCzAJBgNV
BAYTAlVTMRQwEgYDVQQIDAtSYW5kb21TdGF0ZTETMBEGA1UEBwwKUmFuZG9tQ2l0
eTEbMBkGA1UECgwSUmFuZG9tT3JnYW5pemF0aW9uMR8wHQYDVQQLDBZSYW5kb21P
cmdhbml6YXRpb25Vbml0MSAwHgYJKoZIhvcNAQkBFhFoZWxsb0BleGFtcGxlLmNv
bTESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEA8f+KjOlfnf8pYejo6PP7zEeAFDkz2A53UolVsqoOLHnl8vUU3m9FTfQx
2lH2EiRwyTl8+b2Ls2h+5U6t/JWs+kQpJITaN4g3KSx5BuCMCFahA1mP4NnLnEex
zAvPsmglXBfN7H3WotbpnNjCAzIYI/xO8Rtybf1Gqebh0qNfb4ZZsZbqWDllhp+g
Z461HzmGuQCIGAAYTE1pAS1GAX4cT9gjcAI5kkMpT5al04crJPPLXdDk+mzTkiI6
GXCvAnGMbPJJVF43pgacK0Xi8IWVjkUzuSyxKlY6MlRaQwvTOyUJg47d/di7A3xw
5ZH6N9JLk6CiiRikNb6aN1r2qewlywIDAQABo1kwVzAnBgNVHSMEIDAeoRGkDzAN
MQswCQYDVQQGEwJJRIIJAMop6dVSltkcMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgTw
MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAOoXpgp+B
DYmDlEmfugbfd6LA/UqCs4vfVn/vgCQ35R1EsDTxXKof0TZt8KJBGcWGXr8LNWS8
OO5fw8GBUfxsYx+KG3mUfrJbWbb+1sLt2DJdA6F8vTOHVpG7tkYC/rhnAwvlILFM
D4ptDPdQqI/7PWQ8MkDa55mS/zwdtCM5jGVOiL4MWJ+RF2OldtLDbPy8xmZf+DLx
cTUfoON/2tHps59GrHBYsTh2w6g0MMziOgbZVL88rUUfJD3ziEWGbU5tBcLMJCjW
B9uAN6I+o5IQ1SoDA1lt1a/sK5yah6lYnA9/yXUWoU6OEVDlMcnK7/XpM1YpxxVX
C3zpEzO7k9G57g==
-----END CERTIFICATE-----
also create a server.key
along side server.js
and server.crt
. Here's the code:
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDx/4qM6V+d/ylh
6Ojo8/vMR4AUOTPYDndSiVWyqg4seeXy9RTeb0VN9DHaUfYSJHDJOXz5vYuzaH7l
Tq38laz6RCkkhNo3iDcpLHkG4IwIVqEDWY/g2cucR7HMC8+yaCVcF83sfdai1umc
2MIDMhgj/E7xG3Jt/Uap5uHSo19vhlmxlupYOWWGn6BnjrUfOYa5AIgYABhMTWkB
LUYBfhxP2CNwAjmSQylPlqXThysk88td0OT6bNOSIjoZcK8CcYxs8klUXjemBpwr
ReLwhZWORTO5LLEqVjoyVFpDC9M7JQmDjt392LsDfHDlkfo30kuToKKJGKQ1vpo3
Wvap7CXLAgMBAAECggEBAL9UQc+tB6scPTSq99KObEsTUMEshL/SmCaKbFYIu5IQ
gmy3tlsy8EF0yyGIYZvwcbe2mwe9A8HB4Woc7dRg5lUsJLc5zmnPaYVFIx7709sX
2s+SNP4aVC/oQztHL1wnmToZm/bZeyRd9G/MtH/gUFPLPQLFp5Asinz0DSEDiAXc
UmO8fWuCo+y7SJFe0i+Qv7i31Hjtkok3RYmwQRg8BVDhtHBDu+zF8LlsVks4fQwR
8C/ng6mILdKZcU84aCQ+Py62lWks0E8H1YKb3oFAa3MRw329k5VhbnC5RXfwJnrb
1xgt7Umo9Jq4s8s1mXC91NggiDcPWtdMDNq237B6VDkCgYEA+PV0+C7s+vECjxz3
f38nvfyeEHZITpmIMKY14xK6S7w1J0BbygCq8Zgokn8Kn75FAlnjqw1jVId79U3u
dp2bgp1OHSkCC9c4JumRWhRKqHNZytxs/REEb9ed9EZO7NZA6Ub3iOXknsqHToNk
xwBjpEK/YivvUtY6fHoHg8BE4HcCgYEA+Nev7gBUjm/Z4W2S0cXSQr43A2ixUr5E
q6QI4yeyC6IBBNyw1b+zklOKHrw4t8kBvM7JVaXQO3lsLpGQ6r0I4++teujm9ir9
Djyk5FX87/GQs414hFe+nTsHjXjQfheHXYkIaCbWquZ6DNj+Dt3P93z2pxPCnfHx
WnEMbg8q7k0CgYEAg3qGGqgVqXVs543hu6i4oWJvS7xb9X6p6R9uaAy07FhqLd+U
Wjs+DDdSfgOv5atDoLk+PlDku3iN44ATxvr3bOSMo2PL29r+obZKeCstPockzbjZ
qlC5aiOSHLag6f1A7LH4+oiG08Gb8b/8kghHlzFVB5CyZKoU2zZLD66T8YMCgYAr
yWg/rPc0CSKBtFI9b13MOMRdaTKqqKhUu4yEzBtcSKl9PYgwVIc4nFKVjfE9BbW0
j36F/6Ngk8EhgKPLanACC86u7gSWFIJq2uj49NiJMCySK7alMvtrl1OA5V1qkqFT
KCW+jfcAI4YedKBf5VAO8IJGbAe22zfo/jN9ulWHkQKBgCeA1cOsYU1taGGxsl9K
wdGiEm7BvFPw+wR8FVEph+uGcqzChe8s9h3NsRfAKBhCFlCEZUHua16Ntk1+mF4x
ulY2vX6WhQRvWnL5h0RkP61FiZMTm7Bh3hPcv+E3jjxelcbX9WUznWiicC3loE0U
QyNYpqS7HB7feaklP0TSA3w8
-----END PRIVATE KEY-----
put these lines inside server.js
const fs = require('fs');
const path = require('path');
const https = require('https');
const certOptions = {
key: fs.readFileSync(path.resolve('./server.key')),
cert: fs.readFileSync(path.resolve('./server.crt')),
};
change the server.listen to these lines :
if (dev) {
https.createServer(certOptions, server).listen(443);
} else {
server.listen(3000, err => {
if (err) throw err;
console.log('> Ready on http://localhost:3000');
});
}
// server.listen(port, err => {
// if (err) throw err;
// console.log(`> Ready on http://localhost:${port}`);
// });