簡體   English   中英

NodeJS - HTTPS POST 請求不適用於 Got 客戶端

[英]NodeJS - HTTPS POST request not working with Got client

我正在嘗試使用 Got 客戶端發出 HTTPS Post 請求。 端點需要帶有客戶端證書的 TLS。 這是我的請求的樣子:

await got.post('https://example.com/some-entity/', {
                json: requestPayload,
                headers: {
                    Authorization: 'some token'
                },
                https: {
                    certificate: fs.readFileSync('sslfile.cert.pem'),
                    key: fs.readFileSync('sslfile.key.pem'),
                    passphrase: 'passphrase',
                    rejectUnauthorized: false // only for local dev. would be true in prod
                },
                responseType: 'json'
            });

但我收到以下錯誤:

write EPROTO 139745222879040:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../deps/openssl/openssl/ssl/record/rec_layer_s3.c:1544:SSL alert number 40\n

我正在關注這個Got 文檔。

我已經確認證書和密鑰是好的,因為郵遞員和 curl 的請求相同。 如果我使用不同的 Javascript 客戶端,比如Request它甚至可以工作。

有人知道我在這里做錯了什么嗎?

想通了這個問題。 我使用的是舊版本的 Got(9.6.0)。 將我的 Got 版本升級到 11.8.0 后,它運行良好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM