1

私の質問は、nginx ディレクティブ「proxy_pass」についてです。

http サーバーがあり、https を使用してリクエストをリダイレクトする必要があります。次のステートメントを使用しています: proxy_pass https://secure.server wireshark では、SSL ハンドシェイクがあることがわかりますが、クライアント (nginx proxy_pass https:) はサーバーの SSL 証明書要求で証明書を送信しませんでした。サーバーによるクライアント証明書の検証が必要です。https を使用しているときに、proxy_pass にクライアント証明書を強制的に送信させるにはどうすればよいですか? 以下は、nginx.conf 構成ファイルの一部です。

server {
    listen  8888;
    server_name     _;
    error_page 405 =200 $uri;
    ssl_certificate       /usr/local/cert.pem;
    ssl_certificate_key   /usr/local/cert.pem                                          
    ssl_client_certificate  /usr/local/ca.cer;       

    location ~ /uri/(.+) {

                    proxy_pass https://secure.server;
                    break;
            }

    }
4

3 に答える 3

0

私も同じ解決策を探しています。

「Proxy HTTPS Client Certificate」というモジュールを持つ SEnginx を見つけました。説明から、クライアント証明書を許可する必要があるようですが、私はそれを機能させることができませんでした。バックエンド サーバーは、クライアントに証明書を求めるプロンプトを表示しません。

以下はSEnginxへのリンクです。

また、これが不可能な理由についての可能な説明を次に示します。

于 2014-11-13T20:01:00.977 に答える
0

SSL クライアント証明書の検証を有効にする必要があります。

これを他の SSL 構成の下に追加します。

ssl_verify_client on;

詳細については、こちらを参照してください。

于 2013-02-20T00:37:17.867 に答える