gpt4 book ai didi

ssl - 设置配置了 SSL 的 Nginx 服务器

转载 作者:行者123 更新时间:2023-12-04 22:41:28 24 4
gpt4 key购买 nike

我已将 Nginx 配置为反向代理,并且每个客户端调用都使用证书进行验证。但是当我在客户端机器中浏览时,我得到“400 Bad Request No required SSL certificate was sent”

我启用了错误日志,它显示“客户端在读取客户端请求 header 时未发送所需的 SSL 证书,客户端:x.x.x.x,服务器:localhost,请求:“GET/favicon.ico HTTP/1.1”,主机:“y.y.y.y”,推荐人:“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

最佳答案

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

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

进一步调试:

  • 诸如wireshark之​​类的工具可用于检查客户端是否正在发送证书
    https://www.linuxbabe.com/security/ssltls-handshake-process-explained-with-wireshark-screenshot
  • 使用 Postman 之类的工具设置客户端证书并检查服务器是否按预期响应
    https://blog.getpostman.com/2017/12/05/set-and-view-ssl-certificates-with-postman/
  • 该领域的常见问题以及如何解决这些问题
    https://www.thesslstore.com/blog/tls-handshake-failed/
  • 关于ssl - 设置配置了 SSL 的 Nginx 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53083162/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com