npm CA证书的位置

我们有一个企业授权的SSL MITM,我试图让npm和它一起玩。 没有configuration, npm install会产生

 $ npm install --verbose ... npm verb request uri https://registry.npmjs.org/request npm verb request no auth needed npm info attempt registry request try #1 at 12:21:46 npm verb etag "BHYPP2OQ6VBKY2B3TPXTCBVRQ" npm http request GET https://registry.npmjs.org/request npm info retry will retry, error on last attempt: Error: SELF_SIGNED_CERT_IN_CHAIN npm info retry will retry, error on last attempt: Error: SELF_SIGNED_CERT_IN_CHAIN npm info retry will retry, error on last attempt: Error: SELF_SIGNED_CERT_IN_CHAIN ... 

当我把我们自定义的SSL pem放在〜/ .npmrc中

 ca="-----BEGIN CERTIFICATE-----\n..." 

我得到以下

 $ npm install --verbose ... npm http request GET https://registry.npmjs.org/time-grunt npm verb request uri https://registry.npmjs.org/request npm verb request no auth needed npm info attempt registry request try #1 at 12:27:17 npm verb etag "BHYPP2OQ6VBKY2B3TPXTCBVRQ" npm http request GET https://registry.npmjs.org/request npm info retry will retry, error on last attempt: Error: Hostname/IP doesn't match certificate's altnames npm info retry will retry, error on last attempt: Error: Hostname/IP doesn't match certificate's altnames ... 

其中,如果我理解正确的话, npm使用这一个SSL证书作为唯一的根CA,这是有道理的,为什么它不起作用。 每个CA都有一个ca[]="-----BEGIN CERTIFICATE-----\n..."行来膨胀~/.npmrc ,但是有一个certs.pem文件可以附加到我们的内部pem来?

我正在寻找类似于我得到自制安装应用程序正常工作的方式

 cat internal-cert.pem >> /usr/local/etc/openssl/cert.pem 

我希望有类似的npm /节点。

尝试设置strict-ssl标志。 我之前有过类似的问题。

npm config set strict-ssl false

我实际上已经从我的〜/ .npmrc中取得了证书,但不知道是否会影响任何内容。