2016-07-28 4 views
0

Java Jetty Proxyの代わりにNodeJSプロキシを作成しています。私はnode-http-proxyを使用しています。残っている唯一の部分は、元のクライアント証明書をプロキシされたサーバーに渡すことです。NodeJSをプロキシクライアント証明書にする方法

Javaサーブレットの仕様では、ServletコンテナがClient Certificate from an HTTPS request and store that as an attribute on the HttpServletRequestを取得する必要があります。

新しいサーバーに要求をプロキシするときにサーブレットコンテナが属性をどのように処理するかわかりません。私はそれがヘッダーか他の何らかの手段のどちらかとして何らかの形でそれらをつないでいると推測します。

プロキシされたHTTPSリクエストでこれらの属性(具体的にはjavax.servlet.request.X509Certificate)がどのように渡されるかは誰にも分かりますか?また、NodeJSを使用して同じ機能を達成するにはどうすればよいですか。

答えて

0

他の誰かを助けるイベントで...私が使っていたノードモジュール(node-http-proxy)がHTTPサーバー接続証明書を再利用していないことが判明しました。つまり、プロキシサーバーとの接続を作成しようとしたときに、デフォルトの(生成された)証明書を使用していました。

プロキシサーバーに正しく接続するには、ca、pfx、およびパスフレーズをプロキシコネクタに渡す必要がありました。

const ca = ... 
const pfx = ... 
const passphrase = ... 

// proxy connection 
server.web(req, res, { ca: ca, pfx: pfx, passphrase: passphrase }, function(err) {}); 

この後、プロキシサーバーは証明書を取得して検証することができました。

関連する問題