我正在玩耍和学习Express Gateway。入门指南要求我调用 https 端点。我的组织通过一个中间箱运行所有请求,该中间箱嗅探 https 内容并将其根证书安装在我们的机器上。因此,基本上所有 https 有效负载都使用组织自己的证书进行签名。
基本上,当 Express Gateway 进行调用并看到它不信任的证书时,它会引发错误。我尝试设置NODE_TLS_REJECT_UNAUTHORIZED=0
为暂时禁用证书验证,但我仍然看到错误并且连接被拒绝:
如何在 Express Gateway 中暂时禁用证书验证?
作为一个长期的解决方案,我看过一篇关于如何通过设置环境变量让Node 信任我的操作系统证书NODE_EXTRA_CA_CERTS
的帖子,但我不知道在我的系统上指向哪个文件作为证书文件
更新 1 (2020.26.02)
我听从了维琴佐的建议,并尝试直接调用脚本而不是通过 annpm script
但它不起作用。我在server.js
文件顶部添加了一个控制台日志以查看NODE_TLS_REJECT_UNAUTHORIZED
. 当我不设置变量时,我尝试代理到 https 服务,这就是我所看到的:
当我设置变量,再次直接执行脚本时,这就是我所看到的——网关仍然拒绝自签名证书: