Meu Nginx não confia no certificado que meu aplicativo envia?

Meu Nginx não confia no certificado que meu aplicativo envia?

Estou tentando configurar um servidor NGINX que tenha SSL e também faça verificação de cliente. Por algum motivo não está funcionando. Se eu testar os certificados entre dois aplicativos de inicialização por mola, eles funcionarão. Portanto, os certificados são bons. Eu tenho o seguinte arquivo de configuração nginx:

#user  nobody;
worker_processes auto;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;


    sendfile        on;

    keepalive_timeout  65;

    server {
        listen 443 ssl;
        
        ssl_certificate D:/nginx/server.cer;
        ssl_certificate_key D:/nginx/server.pkcs8;

        ssl_verify_client on;
        ssl_trusted_certificate D:/nginx/client.cer;
        ssl_client_certificate D:/nginx/client.cer;

        
        server_name localhost;
        
        location / {            
            return 301 https://www.google.com/ ;
        }
        
        location /api/user {
            proxy_pass http://localhost:8443/api/user ;
        }
        
        location /api/key {
            proxy_pass http://localhost:8443/api/key ;
        }
        

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

Se eu mudar isso ssl_verify_client on;para ssl_verify_client off;obtenho o resultado que espero. Então o restante das configurações deve ficar bem... Iniciei o NGINX hoje, gostaria de obter ajuda.

Os certificados são criados por mim. Sem emissor, sem cadeia de certificados. Certificados autoassinados.

Desde já, obrigado.

Responder1

As diretivas ssl_client_certificate(e ssl_trusted_certificatese você decidir usá-las) devem conter o certificado CA contra o qual os certificados do cliente são verificados. Altere essas diretivas para apontar para o arquivo que contém o certificado CA usado para assinar os certificados do cliente.

informação relacionada