[英]Node.js and https certificate error handling
使長話短說:
我正在構建節點應用程序,該應用程序使用https (HTTP的安全版本)發出請求。 每當我錯過配置請求選項時,就會出現此錯誤:
Node.js主機名/ IP與證書的altname不匹配
很好...除了整個請求代碼都包裝有有效的try..catch
塊 (工作正常,已經檢查過)之外。 代碼基本上是這樣的:
try
{
https.request(options, (response) =>
{
// no way I making it so far this that error
}).end();
}
catch(ex)
{
// for some reason.. I'm not able to get here either
}
我打算做的只是在try..catch
塊中處理該錯誤。
閱讀一些帖子后,我了解到這種行為主要是因為tls
模塊自動處理請求並因此產生此錯誤-這是一條很好的信息,但是它並不能真正幫助我處理異常。
建議其他一些人使用此選項:
rejectUnauthorized: false // BEWARE: security hazard!
但是我寧願不...所以..我想我的問題是:
try..catch
塊處理錯誤應該在這里..對嗎? 只是要清楚一點-我沒有使用任何第三方庫(所以沒有人要責怪)
任何幫助將不勝感激
謝謝
您需要在https.request()
返回的請求對象上添加'error'
事件處理程序,以處理此類錯誤。 例如:
var req = https.request(options, (response) => {
// ...
});
req.on('error', (err) => {
console.log('request error', err);
});
req.end();
有關更多信息,請參見node.js文檔中有關錯誤的本節 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.