Nginx中具有过期证书的MTL的自定义错误代码

问题描述

我们在返回自定义http返回码时遇到问题 Nginx MTL。我们在AWS中运行代码,但要重现 这个问题,我选择了Nginx代码(1.18.0),编译如下:

./configure --prefix=/opt/Nginx --with-http_ssl_module --with-http_v2_module

我有自定义服务器证书,CA +根。 我制作了几份证书,一份有效,一份已经过期(openssl ca .... -days -1):

然后尝试击中403:

server {
    listen       8443 ssl;
    server_name  localhost;

    ssl_certificate      my-server.pem;
    ssl_certificate_key  my-server.key;
    ssl_client_certificate my-store.pem;
    ssl_verify_client optional;
    ssl_verify_depth 2;

    if ($ssl_client_verify != SUCCESS) { return 403; }

    location / {
        root   html;
        index  index.html index.htm;
    }
}

但是我得到的过期证书是400。具有“返回401;”作为服务器的第一行 块仍然可以得到400,所以我看不到如何捕获($ ssl_client_verify!= SUCCESS)。 此配置有问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)