我需要静态https server。我选择了node.js因为它的便携性。通过这种方式,我可以在仓库中保存.js
脚本,并在Windows和Linux机器上轻松运行服务器。
经过一些研究,我最终使用connect得出了以下解决方案:
var fs = require('fs');
var connect = require('connect');
var options = {
key: fs.readFileSync('ryans-key.pem'),
cert: fs.readFileSync('ryans-cert.pem')
};
connect(options, connect.logger() , connect.static(__dirname))
.listen(443);
使用this guide生成自签名证书的位置。不幸的是,这个漂亮的node脚本无法正常工作。实际上,我在chrome上遇到107
错误,并且firefox出现“连接中断”错误。
为了让简单的服务器正常工作,此设置缺少什么?
为什么我说节点是可移植的:与其他网络服务器如apache或nginx相比,我可以在repo根目录中保留一个简单的脚本,而不是文件系统中某处的配置文件。此配置文件的位置将在不同系统之间发生变化
为什么我需要一个安全级别:因为如果原始域不安全,某些内容依赖于其他不允许(异步)的内容
需要证书,但您可以随时签署自己的证书,并将其与服务器脚本一起保存在仓库中