Мой Nginx не доверяет сертификату, который отправляет мое приложение?

Мой Nginx не доверяет сертификату, который отправляет мое приложение?

Я пытаюсь настроить сервер NGINX с SSL, а также с проверкой клиента. По какой-то причине это не работает. Если я пробую сертификаты между двумя приложениями Spring Boot, они работают. Так что сертификаты в порядке. У меня есть следующий файл конфигурации 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;
        }
    }
}

Если я изменю это ssl_verify_client on;на, то ssl_verify_client off;получу ожидаемый результат. Так что остальные конфигурации должны быть в порядке... Я запустил NGINX сегодня, хотел бы получить помощь.

Сертификаты созданы мной. Нет эмитента, нет цепочки сертификатов. Самоподписанные сертификаты.

Заранее спасибо.

решение1

Директивы ssl_client_certificatessl_trusted_certificateесли вы решите их использовать) должны содержать сертификат CA, по которому проверяются клиентские сертификаты. Измените эти директивы так, чтобы они указывали на файл, содержащий сертификат CA, который вы использовали для подписи своих клиентских сертификатов.

Связанный контент