Boa noite a todos!
Gostaria de contribuir em caso de mais estudantes ter o mesmo problema que me ocorreu.
Estou usando Ubuntu 24.04 numa VMWare Fusion 17 Pro.
Ao executar os códigos sugeridos pelo professor dentro do arquivo "server.js" obtia os seguintes erros:
node: internal/tls/secure-context:70 context. setCert(cert);
Error: error: 0480006C:PEM routines::no start line at node:internal/tls/secure-context:70:13 at Array. forEach (<anonymous») setCerts (node:internal/tls/secure-context:68:3) at configSecureContext (node:internal/tls/secure-context:186:5) at Object. createSecureContext (node:_tls_common:116:3) at Server.setSecureContext (node:_tls_wrap: 1486:27) at Server (node:_tls_wrap: 1350:8) at new Server (node:https:75:3) at Object.createServer (node:https:133:10) at Object. (/home/rschaskos/Desktop/DevOps/2-DevOps_Trafego_Segur •_Web/01. Comunicao_web/02.Preparando_Ambiente/api-alurabooks/server.js: 361:7) { library: 'PEM routines reason: 'no start line' code: "'ERR_OSSL_PEM_NO_START_LINE"
Node. js v20.13.1
Após muito pesquisar descobri que se tratava de um erro na forma que os arquivos do certificado eram criados. Sendo assim, utilizei a seguinte motologia na criação dos certificados de segurança:
Comando 1
openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out server.pem
Comando 2
openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out server.crt
Dentro do arquivo "server.js" ao final acrescentei os devidos códigos com as alterações abaixo que ficaram dessa forma:
https.createServer(
{
key: fs.readFileSync('./server.pem', 'utf8'),
cert: fs.readFileSync('./server.crt', 'utf8')
}, server).listen(8000, () =>
{
console.log("API disponível em https://localhost:8000")
})
Espero ter contribuido de forma positiva.