del*_*svb 50 ssl httpserver node.js npm
我正在使用npm包"http-server"(https://www.npmjs.com/package/http-server)来设置一个简单的网络服务器,但我无法使用SSL.我在package.json中的命令是
http-server -p 8000 -o -S
Run Code Online (Sandbox Code Playgroud)
在我的根目录中使用cert.pem和key.pem(现在)."-o"选项将浏览器打开到默认页面,但页面使用HTTP提供,甚至无法通过HTTPS访问.我没有收到任何错误或警告.我也尝试过添加"-C"和"-K"选项而没有运气.这个套餐有没有成功?
slo*_*mek 131
首先,确保你拥有key.pem和cert.pem文件.您可以使用以下命令生成它们:
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
Run Code Online (Sandbox Code Playgroud)
输入命令后,您将被提出几个问题.127.0.0.1如果您希望能够在操作系统的根证书存储区或浏览器中安装证书以使其受信任,请用作"公用名"的值.
这将生成一个证书密钥对,它将有效约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
Run Code Online (Sandbox Code Playgroud)
yum*_*rry 28
我安装了mkcert:
brew install mkcert
brew install nss # if you use Firefox
Run Code Online (Sandbox Code Playgroud)
mkcert -install
Run Code Online (Sandbox Code Playgroud)
然后,在您的项目目录中:
mkcert 0.0.0.0 localhost 127.0.0.1 ::1
Run Code Online (Sandbox Code Playgroud)
最后,我重命名了生成的文件:
0.0.0.0+3-key.pem -> key.pem0.0.0.0+3.pem -> cert.pem并运行以下命令:
http-server -S -C cert.pem -o
Run Code Online (Sandbox Code Playgroud)
然后我得到:

我参考了这个博客:https : //qiita.com/walkers/items/b90a97a99bbb27f6550f (日文写的)
| 归档时间: |
|
| 查看次数: |
37738 次 |
| 最近记录: |