CloudFlare DNS SSL客户端证书authentication

我有一个Nginx服务器,它是安装客户端证书身份validation,并正常工作,这里是我写的configuration在Nginx的SSL的一部分。

server { listen 80; listen 443; ssl on; server_name ssl-api.mywebsite.com; ssl_certificate /etc/nginx/certs/verify-ssl-api-server.crt; ssl_certificate_key /etc/nginx/certs/verify-ssl-api-server.key; ssl_client_certificate /etc/nginx/certs/verify-ssl-api-rootCa.crt; ssl_verify_client on; 

当我使用浏览器访问这个时,会出现一个错误信息,如图片。

在这里输入图像说明

我将我的客户端证书添加到Firefox并提供密码来导入clientcert.p12

在这里输入图像说明

确认对话出现,我只需要点击确定,一切工作正常。

在这里输入图像说明

现在我想在CLoudFlare的SSL上做这个工作,但我不知道如何。 我一直在尝试Authenticated Origin Pulls,但是它不需要发送客户端证书,那么我怎样才能用CloudFlare来实现呢?

尝试以下。 在你的听443行你没有说ssl,我不知道它是否会做到这一点默认或不。 你不应该把http2放在那里,除非你的Nginx版本支持。

 listen 443 ssl http2; ssl_certificate /var/lib/certs/fullchain; ssl_certificate_key /var/lib/certs/privkey; # Set up preferred protocols and ciphers. TLS1.2 is required for HTTP/2 # Change according to your needs ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5; # This is a cache for SSL connections, it's optional but helps performance. ssl_session_cache shared:SSL:2m; ssl_session_timeout 60m; 

在Chrome,Firefox和IE中获得这个工作权利。 您可能需要添加中间证书才能使Firefox工作,这很麻烦。 一旦你这样做,CloudFlare应该“只是工作”。

有一个去,发布你的结果,成功或后续的问题。