带有SSL的npm http-server

我正在使用npm包“http-server”( https://www.npmjs.com/package/http-server )来build立一个简单的networking服务器,但我无法使用SSL。 我在package.json中的命令是

http-server -p 8000 -o -S 

在我的根目录(现在)有一个cert.pem和key.pem。 “-o”选项将打开一个浏览器到默认页面,但页面是使用HTTP提供的,甚至不能通过HTTPS访问。 我没有得到任何错误或警告。 我也尝试添加“-C”和“-K”选项,但没有运气。 这个包有没有成功?

首先,确保你有key.pemcert.pem文件。 您可以使用以下命令生成它们:

 openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem 

这将生成一个证书密钥对,它将在大约10年(准确的说是3650天)内有效。

然后,您需要使用-S运行服务器,以便为您的证书文件启用SSL和-C

 $ http-server -S -C cert.pem -o Starting up http-server, serving ./ through https Available on: https:127.0.0.1:8080 https:192.168.1.101:8080 https:192.168.1.104:8080 Hit CTRL-C to stop the server 

仅供将来参考,我的问题是通过将package更新到package.json中的最新版本来解决的。 我复制粘贴一个旧的示例文件,而不更新版本号。