如何禁止与HTTP服务器npm的不安全连接?

问题描述

我正在使用以下命令创建安全的http服务器,

http-server -a :: -p 8081 --cors -c-1 -S -C cert.pem -K key.pem -r

但是使用下面的命令,我可以访问内容,

curl -k https://localhost:8081/

如何限制用户不允许与HTTP服务器的不安全连接? 我只想允许已验证证书的连接,不允许其他连接。

PS:在这里,我已经使用npm install http-server安装了http-server。

解决方法

这取决于您所说的“不安全”。

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...