nginxのHTTPクライアント証明書varが空白ですか?


0

HTTPクライアント証明書をnginxで取得しようとしていますが、常に空白として返されます。

  • $ ssl_client_cert
  • $ ssl_client_fingerprint
  • $ ssl_client_raw_cert
  • $ ssl_client_serial

上記のすべてが空白として返されます。

server {
    listen   8014;
    server_name  localhost;

    ssl    on;
    ssl_certificate    /root/cert/certificates/nginx-selfsigned.crt;
    ssl_certificate_key    /root/cert/certificates/nginx-selfsigned.key;

    location / {
    proxy_set_header ssl-hash $ssl_client_fingerprint;
    proxy_set_header ssl-cert $ssl_client_cert;
    proxy_set_header ssl-raw-cert $ssl_client_raw_cert;
    proxy_pass       http://127.0.0.1:3128;
}}

goアプリに変数を渡そうとしましたが、ヘッダーが空白です。

server {
    listen       8014;
    server_name  localhost;

    ssl    on;
    ssl_certificate    /root/cert/certificates/nginx-selfsigned.crt;
    ssl_certificate_key    /root/cert/certificates/nginx-selfsigned.key;
    location / {
            root        /opt/hthash;
            index  index.html index.htm index.php;
                autoindex on;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

        location ~ \.php$ {
        root           /opt/hthash;
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param SSL_CLIENT_CERT       $ssl_client_cert;
        fastcgi_param SSL_CLIENT_RAW_CERT   $ssl_client_raw_cert;
        fastcgi_param SSL_CLIENT_FPRINT       $ssl_client_fingerprint;
        fastcgi_param SSL_CLIENT_SERIAL     $ssl_client_serial;
        include        fastcgi_params;
}}

fastcgi phpでも試してみましたが、まだ運はありません。

誰かがHTTPクライアント証明書をリバースプロキシや他の解決策で取得する方法を教えてもらえますか?

どんな助けでも深く感謝されるでしょう。

回答:


1

指定なし ssl_verify_client どこでも、あなたのサーバーはクライアントに証明書を要求していません。それは何もないということです。

どちらかに設定する必要があります on (証明書が必要です) optional (証明書は要求されたが要求されなかった)または optional_no_ca (証明書は要求されたが要求されなかった。また検証されていない)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.