带有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.pem
和cert.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中的最新版本来解决的。 我复制粘贴一个旧的示例文件,而不更新版本号。