gpt4 book ai didi

ssl - NGINX 中不同 SSL 端口的不同 SSL ssl_verify_client 不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 14:47:09 26 4
gpt4 key购买 nike

我在 Nginx 中有一个定义,根据不同的端口,我需要不同的 SSL 客户端验证选项。

当我连接到 :443/location1 时,Nginx 将请求客户端证书,但会失败并显示“HTTP 400,错误请求,需要客户端证书”。似乎 NGinx 使用端口 444 的服务器规则,它在连接时有一个“ssl_verify_client off”,但是在路由上,NGinx 检查是否给出了客户端证书,因为它是端口 443 的规则,表示需要客户端验证并且然后在实际的 HTTP 请求中失败。

我四处寻找,似乎找不到任何相关文档。显然相同的 IP:PORT 是一个问题,但到目前为止一切都通过 PORT 表明我可以更改配置,但情况似乎并非如此。

server {
listen 443;
ssl on;
ssl_certificate /etc/nginx/ssl-certs/a.cert;
ssl_certificate_key /etc/nginx/ssl-certs/a.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_client_certificate /etc/nginx/ssl-certs/ca.pem;
ssl_verify_client on;
location /location1 {
[..]
}
}
server {
listen 444;
ssl on;
ssl_certificate /etc/nginx/ssl-certs/a.cert;
ssl_certificate_key /etc/nginx/ssl-certs/a.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_verify_client off;
location /location2 {
[..]
}
}

最佳答案

我终于明白了。

客户端拒绝是强制性的,但可以在连接建立后或握手期间发生。

  • NGINX 将允许握手完成,然后强制执行客户已通过验证。
  • APACHE(至少我使用的最后一个版本)失败握手。

关于ssl - NGINX 中不同 SSL 端口的不同 SSL ssl_verify_client 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38061602/

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