![](/img/trans.png)
[英]Installing custom SSL certificate in Node (UNABLE_TO_VERIFY_LEAF_SIGNATURE)
[英]NodeJS keep throwing `UNABLE_TO_VERIFY_LEAF_SIGNATURE` no matter what
我有一個基本的 nodeJS 應用程序,它通過安全的 websocket(ws 庫)連接連接到服務器。 連接服務器時不斷拋出UNABLE_TO_VERIFY_LEAF_SIGNATURE
錯誤。 我無法控制服務器,它是外部的。 端點以wss://
開頭(不確定是否有區別)
我已經嘗試了很多東西,但它們似乎都不起作用:
rejectUnauthorized: false
的作品,但在 x 次后連接中斷,1006export NODE_EXTRA_CA_CERTS=[your CA certificate file path]
不起作用npm config set cafile [your CA certificate file path]
不起作用ca: [fs.readFileSync("ca.ca-bundle", {encoding: 'utf-8'})]
不起作用但是,當我在瀏覽器中導航到端點時,連接是有效且安全的。 我嘗試從瀏覽器中提取證書並包含到 nodeJS 中,沒有結果,同樣的錯誤。 當我使用網站https://whatsmychaincert.com/
獲取證書時也是如此......
基本代碼:
this.websocket = new WebSocket(this.apiUrl, this.applicationId, {
rejectUnauthorized: true,
});
...
this.websocket.on('open', () => {
console.log('Connection successfully opened');
});
this.websocket.on('error', error => {
console.log(error);
});
無論我做什么,似乎無論包含的證書 NodeJS 不斷向我拋出UNABLE_TO_VERIFY_LEAF_SIGNATURE
錯誤。
有人知道發生了什么嗎?
經過幾天和幾天的嘗試解決這個問題,我終於設法解決了這個問題!
我一直在使用錯誤的證書鏈。 我要連接的端點有一個wss://
前綴。 但是我從 url 獲得了帶有https://
前綴的證書。 顯然這有不同的證書鏈。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.