在本地测试具有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 及其选项吗?