Nginx的proxy_ssl_certificate不能按预期工作

我使用nginx作为后端服务器的代理。 后端服务器也使用nginx并使用ssl_client_certificatessl_verify_client指令强制执行客户端证书authentication。

在我的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; } 

根据nginx文档 。

但是,后端仍然响应400个响应代码"No required SSL certificate was sent"

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

 wget --certificate=/etc/nginx/cert/client.crt --private-key=/etc/nginx/cert/client.key https://www.backend.com 

我在我的nginxconfiguration中错过了什么?

这篇文章似乎为我解决了这个问题。

我不得不添加下面的设置来为我工作。

 proxy_ssl_server_name on;