设置Nginx服务器并配置SSL

时间:2018-10-31 12:17:41

标签: ssl nginx

我已将Nginx配置为反向代理,并且使用证书验证了每个客户端调用。但是当我在客户端计算机上浏览时,我收到“ 400错误的请求,未发送所需的SSL证书”

我启用了错误日志,并显示“客户端在读取客户端请求标头时未发送任何必需的SSL证书,客户端:xxxx,服务器:localhost,请求:“ GET /favicon.ico HTTP / 1.1”,主机:“ yyyy”,引荐来源网址:“ https://y.y.y.y/

我无法弄清它要说的是什么问题。

我的Nginx配置更改 服务器{

    error_log "C:/Error/error.log" debug;
        listen       443 ssl; 
    server_name  localhost;

    #ssl_protocols           TLSv1 TLSv1.1;         
    ssl_certificate         "C:/Test/server.crt";
        ssl_certificate_key     "C:/Test/server.key";
    ssl_client_certificate  "C:/Test/ca.crt";       
    ssl_verify_client    on;
    #ssl_session_cache       off;


    #proxy_ssl_server_name on; 
    #proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    #proxy_ssl_session_reuse off;



        location / {
                root   html;
                index  index.html index.htm;
                proxy_pass https://10.10.10.10/webservice;
    }

谢谢, 维诺德G

1 个答案:

答案 0 :(得分:1)

您的配置尝试使用其证书对客户端进行身份验证,并且看起来该客户端未发送该证书。 ** ssl_client_certificate **表示您要针对指向的受信任CA验证客户端证书。然后,服务器会要求客户端发送证书,并且在证书没有收到时必须失败。

可以在此处阅读该过程的图形指南以更好地理解: https://comodosslstore.com/blog/what-is-ssl-tls-client-authentication-how-does-it-work.html

进一步调试: