如何禁止与 http-server npm 的不安全连接?
Posted
技术标签:
【中文标题】如何禁止与 http-server npm 的不安全连接?【英文标题】:how to disallow insecure connection to http-server npm? 【发布时间】:2020-12-10 01:37:10 【问题描述】:我正在使用以下命令来创建安全的 http-server,
http-server -a :: -p 8081 --cors -c-1 -S -C cert.pem -K key.pem -r
但是通过以下命令我可以访问内容,
curl -k https://localhost:8081/
如何限制用户不允许与 http-server 的不安全连接? 我只想允许验证证书的连接,不允许其他连接。
PS:这里我已经使用 npm install http-server 安装了 http-server。
【问题讨论】:
【参考方案1】:这取决于您所说的“不安全”。
curl -k https://localhost:8081/
将打开一个安全 HTTPS 连接,流量被加密。 -k
唯一做的事情是允许连接到默认情况下您不信任的证书(通常这意味着它没有由您的系统/浏览器识别的 CA 签名)。
自签名证书没有任何问题。
您对 CA 的信任是额外的一层,它可以帮助您意识到某些地方出了问题,但仅此而已。
因为这是一个正确的 HTTPS 连接,所以你不能限制任何东西(我什至不确定你想限制什么?哪个元素会拒绝连接?curl
默认情况下已经这样做了,服务器对其感到满意证书)
编辑以下评论
如果您想确保正在连接的客户端是正确的,那么您需要反过来向您的客户端请求证书。
在此设置中,您将(通常)进行相互身份验证:客户端检查服务器的证书(在您的情况下失败,因为 CA 未被识别但没关系)并且服务器要求客户端提供服务器信任的证书。
尝试搜索“SSL 客户端证书”(尽管 TLS 取代了 SSL,但很多文章仍然使用 SSL 措辞),例如https://medium.com/@sevcsik/authentication-using-https-client-certificates-3c9d270e8326
【讨论】:
我要允许验证证书的连接,不允许其他连接 @HarshilMakwana:请检查我的答案更新(如果我理解正确你的目标)以上是关于如何禁止与 http-server npm 的不安全连接?的主要内容,如果未能解决你的问题,请参考以下文章
npm http-server 下载 index.html 而不是服务