1. ホーム
  2. node.js

[解決済み] Node.jsのホスト名/IPが証明書のaltnamesと一致しない

2022-03-05 14:57:27

質問

コードがあります。

var r = require('request');
r({
  method: 'POST',
  url: 'https://api.dropbox.com'},
  function() { console.log(arguments)  } )

デスクトップでNode 0.9.4で実行すると、コンソールにこのように表示されます。

{ '0': [Error: Hostname/IP doesn't match certificate's altnames] }

Node 0.6.12でNetbookで実行すると、エラーなしですべて動作します(302レスポンス - 正しいと思います)。

質問で Node.jsのホスト名/IPが証明書のaltnamesと一致しない Rojuinex さんが書き込みました: "ええ、ブラウザの問題です...すみません". ブラウザの問題とはどういう意味ですか?

UPDです。Node v0.8でロールバックしたところ、この問題は解決しました。

解決方法は?

0.9.2以降(0.10.xを含む)、node.jsはデフォルトで証明書の検証を行うようになりました。そのため、node.js 0.8からアップグレードすると、より厳しくなっているのがわかります。(HT: https://github.com/mscdex/node-imap/issues/181#issuecomment-14781480 )

を使えば、これを回避できます。 {rejectUnauthorized:false} オプションがありますが、これには セキュリティ上の重大な影響 . 相手に送るものはすべて暗号化されたままですが、次のようになります。 大いに つまり、あなたのデータはピアに対して暗号化されていますが、ピア自体はあなたが思っているようなサーバーではありません!中間者攻撃はより簡単です。

まず、なぜ証明書が認証されないのかを診断し、代わりにそれを修正できるかどうかを確認する方がよいでしょう。