ssl Nodejs https结合cpanel

idv4meu8  于 2024-01-08  发布在  其他
关注(0)|答案(2)|浏览(233)

我尝试在我的nodejs服务器上运行https,如下所示:

  1. var http = require('http');
  2. var https = require('https');
  3. var fs = require('fs');
  4. var express = require('express');
  5. var privateKey = fs.readFileSync('server.key', 'utf8');
  6. var certificate = fs.readFileSync('server.crt', 'utf8');
  7. var credentials = {key: privateKey, cert: certificate};
  8. var app = express();
  9. var httpServer = http.createServer(app);
  10. var httpsServer = https.createServer(credentials, app);
  11. httpServer.listen(8080, ()=> {
  12. console.log('Server started and listening on port 8080...')
  13. });
  14. httpsServer.listen(8443, ()=>{
  15. console.log('Server started and listening on port 8443...')
  16. });

字符串
当我运行服务器时,只有http url在工作,https超时了。你知道为什么会发生这种情况吗?
我习惯使用cpanel,所以我已经在那里设置了ssl证书,但是当涉及到node时,我碰壁了。

x8goxv8g

x8goxv8g1#

看起来你的ssl文件有问题,你需要给予证书文件和私钥,同时创建https服务器像这样:

  1. var express = require('express');
  2. var https = require('https');
  3. var http = require('http');
  4. var fs = require('fs');
  5. // This line is from the Node.js HTTPS documentation.
  6. var options = {
  7. key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
  8. cert: fs.readFileSync('test/fixtures/keys/agent2-cert.cert')
  9. };
  10. // Create a service (the app object is just a callback).
  11. var app = express();
  12. // Create an HTTP service.
  13. http.createServer(app).listen(80);
  14. // Create an HTTPS service identical to the HTTP service.
  15. https.createServer(options, app).listen(443);

字符串
希望对你有帮助。

展开查看全部
goqiplq2

goqiplq22#

问题是端口没有转发。

相关问题