首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NGINX中不同SSL端口不工作的SSL ssl_verify_clent

NGINX中不同SSL端口不工作的SSL ssl_verify_clent
EN

Stack Overflow用户
提问于 2016-06-27 19:18:58
回答 1查看 169关注 0票数 0

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

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

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

代码语言:javascript
运行
复制
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 {
        [..]
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-21 16:04:33

我终于想出来了。

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

  • NGINX将允许握手完成,如果客户端被验证,则强制执行。
  • APACHE (至少是我使用的最后一个版本)无法与人握手。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38061602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档