Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx代理\u ssl\u证书未按预期工作_Ssl_Nginx_Https_Ssl Certificate_Client Certificates - Fatal编程技术网

Nginx代理\u ssl\u证书未按预期工作

Nginx代理\u ssl\u证书未按预期工作,ssl,nginx,https,ssl-certificate,client-certificates,Ssl,Nginx,Https,Ssl Certificate,Client Certificates,我使用nginx作为后端服务器的代理。 后端服务器还使用nginx,并使用ssl\u client\u certificate和ssl\u verify\u client指令强制执行客户端证书身份验证 在我的nginx服务器中,我设置了以下内容: location /proxy { proxy_pass https://www.backend.com; proxy_set_header X-Forwarded-Host $host;

我使用nginx作为后端服务器的代理。 后端服务器还使用nginx,并使用
ssl\u client\u certificate
ssl\u verify\u client
指令强制执行客户端证书身份验证

在我的nginx服务器中,我设置了以下内容:

location  /proxy {
    proxy_pass             https://www.backend.com;

    proxy_set_header       X-Forwarded-Host $host;
    proxy_set_header       X-Forwarded-Server $host;
    proxy_set_header       X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_ssl_certificate      /etc/nginx/cert/client.crt;
    proxy_ssl_certificate_key  /etc/nginx/cert/client.key;
}
根据

但是,后端仍然使用400响应代码
“未发送所需的SSL证书”

请注意,当使用带有客户端证书的wget向后端服务器发出请求时,我会得到一个有效的200 OK响应:

wget --certificate=/etc/nginx/cert/client.crt --private-key=/etc/nginx/cert/client.key https://www.backend.com
我的nginx配置缺少什么?

这似乎为我解决了这个问题

我必须添加以下设置才能让事情为我工作

proxy_ssl_server_name      on;