ssl - Nginx proxy_ssl_certificate 未按预期工作

标签 ssl nginx https ssl-certificate client-certificates

我使用 nginx 作为后端服务器的代理。 后端服务器也使用 nginx 并使用 ssl_client_certificatessl_verify_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;
}

根据 the nginx docs .

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

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

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

我的 nginx 配置中缺少什么?

最佳答案

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

我必须添加以下设置才能为我工作。

proxy_ssl_server_name      on;

关于ssl - Nginx proxy_ssl_certificate 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35969676/

相关文章:

sockets - 如何在Nginx和FastCGI中使用套接字

https - 在 Angular2 http 模块中增加一个 http get 请求连接超时

web-applications - 一个主机名上不同端口上的两个应用程序的 SSL 代理

java - HttpGet 与 HTTPS : SSLPeerUnverifiedException

macos - 在 Mac OS X 应用程序中传送 SSL 证书

ios - 通过 url 发送 .ipa 文件进行安装

nginx:如果不存在则创建目录

security - 如果您使用 HTTPS,您的 URL 参数将不会被嗅探吗?

http - Wildfly 9 http到https

java - IBM MDM 服务器 BatchProcessor Exception_CustomerReflectionDelegate_JNDINameLookup 错误