简体   繁体   中英

How to configure ssl with node

I'm new Angular and Node Stuff. I'm trying to run my angular application on node along with https/ssl. I have installed following files using certbot

git clone https://github.com/certbot/certbot 

cert.pem -> ../../archive/mypleaks.com/cert1.pem
chain.pem -> ../../archive/mypleaks.com/chain1.pem
fullchain.pem -> ../../archive/mypleaks.com/fullchain1.pem
privkey.pem -> ../../archive/mypleaks.com/privkey1.pem

Then I converted cert.pem to key.pem and server.cert using below commands in ssl folder inside application.

sudo openssl req -newkey rsa:2048 -new -nodes -keyout /etc/letsencrypt/live/mypleaks.com/cert.pem -out key.pem
sudo openssl x509 -req -days 365 -in key.pem -signkey /etc/letsencrypt/live/mypleaks.com/cert.pem -out server.crt

Then I followed this article link and configured prod.js

const port = process.env.PORT || 443;
const server = require('./dist/server');
var fs = require('fs'), 
https = require('https');
var options  = { 
key: fs.readFileSync('./ssl/key.pem'),
cert: fs.readFileSync('./ssl/server.crt')
};
var httpsServer = https.createServer(options, server.app).listen(port, () => {
console.log("Express server listening on port " + port);
});

After building project using npm run build:prod , when I'm running npm run prod it's below throwing error:-

> myPleaks@0.0.0 prod /Users/deraj/home/mypleaks-ui/myPleaks
> node prod.js

Using browser-only version of superagent in non-browser environment
_tls_common.js:104
      c.context.setKey(options.key, options.passphrase);
                ^

Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
    at Object.createSecureContext (_tls_common.js:104:17)
    at Server (_tls_wrap.js:805:25)
    at new Server (https.js:54:14)
    at Object.createServer (https.js:76:10)
    at Object.<anonymous> (/Users/deraj/home/mypleaks-ui/myPleaks/prod.js:10:25)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! myPleaks@0.0.0 prod: `node prod.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the myPleaks@0.0.0 prod script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/deraj/.npm/_logs/2018-10-07T19_49_16_195Z-debug.log

I tried Hard but couldn't fix the error. Please suggest me some solution.?

It seems that your pem files are invalid.

I never created that way, some time ago i was doing exactly what are you doing and I created that pem files following this:

https://certbot.eff.org/

You just need to choose your "software" and "system" and follow the tutorial.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM