在本地开发机器上测试 HTTPS 网站

时间:2021-03-18 12:23:30

标签: node.js express https

在本地测试具有http 和 https 前端的网站的最佳做法是什么?

这是我的服务器代码:

const app = require('../app'),
      http = require('http'),
      https = require('https'),
      fs = require('fs');

var httpServer = http.createServer(app);

httpServer.listen(8000, () => {
  console.debug('HTTP Server running');
});

const httpsServer = https.createServer({
  key: fs.readFileSync('/etc/letsencrypt/live/example.com/privkey.pem'),
  cert: fs.readFileSync('/etc/letsencrypt/live/example.com/cert.pem'),
  ca: fs.readFileSync('/etc/letsencrypt/live/example.com/chain.pem'),
}, app);

httpsServer.listen(8001, () => {
  console.error('HTTPS Server running');
});

只有远程服务器有证书,所以当用 http://localhost:8000 测试时,本地服务器显然抱怨证书丢失;我试图创建虚拟占位符文件,但这并没有欺骗它:

library: 'PEM routines',
error message=  function: 'get_name',
error message=  reason: 'no start line',
error message=  code: 'ERR_OSSL_PEM_NO_START_LINE'

我是否必须检索证书文件并将它们安装在每台开发机器上?我不能根据条件(协议/端口号的条件)声明我的 httpsServer 及其选项吗?

0 个答案:

没有答案