NGINXはSSLをサポートするリバーストランスペアレントプロキシとして設定できますか? HTTPSを使用するサードパーティアプリケーションがあります。ビジネス上の目的で、HTTPS接続からの要求データをログに記録する必要があります。
はい、できます。 http://nginx.org/r/proxy_pass
proxy_pass
ディレクティブの説明からわかるように、http
とhttps
の両方のプロトコル/アドレススキームのリダイレクトが可能です。
proxy_pass $scheme://$http_Host;
を使用することで、nginxを使用して汎用TLSインターセプトデバイスをセットアップすることもできると思います。
さらに、 OpenBSDリレー を調べることもできます。これは、 perrelayd.conf.5 で、「TLS検査」と「 SSL/TLSインターセプト」。
短い答えはイエスです。 nginxをリバースプロキシとして使用できます。しかし、あなたのユースケースは明確ではありません。
サーバーは、クライアントから送信された最初のTLSパケットにプレーンテキストで含まれるSNI(サーバー名識別子、つまりホスト名)を検査し、TCPパケットを別のサーバーに透過的に転送することができます。これは、データをデコードすることなく、プロキシにまったく認識されていない可能性のある独自のSSL証明書を持つ複数のサービスを同じIPでホストする場合に役立ちます。
これを実装しているプロキシについては知りません。SNIを送信しないクライアントや、将来暗号化されたSNIが採用された場合は機能しません。
通常、nginxを含むすべてのリバースプロキシは、SSLをデコードしてから、バックエンドサーバーへの別のSSL接続を確立します(httpsがproxy_passで使用されている場合)。
SSLによるHTTPSを意味する場合は、TCPプロキシを使用できます。
オプション1:LVS TCP言い換え
kubernetesクライアント/サーバー証明書認証によってテストされています。
オプション2:nginxストリームプロキシを使用する http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html テストされていません。
プロキシがHTTPSプロトコルを妨害しない限り、より多くのオプションがあります。