web-dev-qa-db-ja.com

NGINXを透過的​​なSSLプロキシとして設定できますか?

NGINXはSSLをサポートするリバーストランスペアレントプロキシとして設定できますか? HTTPSを使用するサードパーティアプリケーションがあります。ビジネス上の目的で、HTTPS接続からの要求データをログに記録する必要があります。

3
tetris5

はい、できます。 http://nginx.org/r/proxy_pass

proxy_passディレクティブの説明からわかるように、httphttpsの両方のプロトコル/アドレススキームのリダイレクトが可能です。

proxy_pass $scheme://$http_Host;を使用することで、nginxを使用して汎用TLSインターセプトデバイスをセットアップすることもできると思います。

さらに、 OpenBSDリレー を調べることもできます。これは、 perrelayd.conf.5 で、「TLS検査」と「 SSL/TLSインターセプト」。

3
cnst

短い答えはイエスです。 nginxをリバースプロキシとして使用できます。しかし、あなたのユースケースは明確ではありません。

1
Litmus

サーバーは、クライアントから送信された最初のTLSパケットにプレーンテキストで含まれるSNI(サーバー名識別子、つまりホスト名)を検査し、TCPパケットを別のサーバーに透過的に転送することができます。これは、データをデコードすることなく、プロキシにまったく認識されていない可能性のある独自のSSL証明書を持つ複数のサービスを同じIPでホストする場合に役立ちます。

これを実装しているプロキシについては知りません。SNIを送信しないクライアントや、将来暗号化されたSNIが採用された場合は機能しません。

通常、nginxを含むすべてのリバースプロキシは、SSLをデコードしてから、バックエンドサーバーへの別のSSL接続を確立します(httpsがproxy_passで使用されている場合)。

0
L. Kärkkäinen

SSLによるHTTPSを意味する場合は、TCPプロキシを使用できます。

オプション1:LVS TCP言い換え

kubernetesクライアント/サーバー証明書認証によってテストされています。

オプション2:nginxストリームプロキシを使用する http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html テストされていません。

プロキシがHTTPSプロトコルを妨害しない限り、より多くのオプションがあります。

0
Jake