Nginx的ssl_verify_client;

我正在使用nginx的开源版本作为逆向代理与上游安全文件服务使用docker和自签名证书,我可以在客户端上运行脚本并拉下文件。 我可以全部工作,直到我申请“ssl_verify_client;”,然后我curl,wget和powershell尝试失败。 我的猜测是,我没有正确地生成或注册证书,因此信任链被维护。

我扼杀了一下,看看我是否可以在没有上游或docker的情况下运行它(也就是说,只试图在虚拟机上运行反向代理,只有在“ssl_verify_client on”的情况下才能运行相同的结果)。

我已经在客户端添加了自己的CA证书,并完成了“update-ca-certificates”(我应该在服务器上完成此操作?)。

curl示例(得到“400没有必要的SSL证书发送”):curl -v -s –key client.key –cert client.crt –cacert client.pem https://mysite.dyndns.org/file .txt -o /home/user/Desktop/file.txt

试图诊断问题,我尝试:“openssl s_client -connect mysite.dyndns.org:443”并得到:validation错误:num = 20:无法获得本地发行者证书

很高兴发布我的nginx.conf,我如何生成证书,但最初会问:

  • 我试图做的是可行的吗? curl,wget或PowerShell可以使用自签名证书(而不是购买的证书)?

  • 使用dyndns(没有validation工作)是一个问题?

  • 如果它看起来像我的证书代的问题,有人可以build议一个链接作为如何(我一直在尝试https://jamielinux.com/docs/openssl-certificate-authority/和nate商品网站) 。 “LetsEncrypt”是“正确答案”吗?

我知道我可能需要发布更多的命令/configuration使用等细节任何帮助表示赞赏。 谢谢!