在我的网站上,我希望用户拥有客户端证书,以便提供进一步的访问权限。 我正在关注this article here,但在nginx配置中已对客户端证书进行了硬编码。
server {
listen 443 ssl;
server_name example.com;
ssl_protocols TLSv1.1 TLSv1.2;
# letsencrypt certificate
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# client certificate
ssl_client_certificate /etc/nginx/client_certs/ca.crt;
# make verification optional,
# who fail authentication
ssl_verify_client optional;
}
在我的情况下,可以有多个用户,他们可以通过发出请求来动态生成和撤销证书。 在这种情况下,nginx的配置应如何?
我找到了一个somewhat relevant title以外的问题,但问题本身不同,就我而言,我有一个PKI设置,因此有一个通用的ROOT CA & intermidiate CA
用于签署客户证书
编辑:
根据我的进一步研究,我认为它的处理方式(不确定是否可以实现)要在ssl_verify_client optional_no_ca
中包含nginx
,然后将ssl数据传递到Web应用程序,然后在那里进行一些检查。