400 bad request, SSL certificate not sent


So I am using a Digital Ocean host, a Node.js app, and Nginx as the proxy. The issue I am having is the SSL certificate seems to be working for only half the people. Even for the people it does work for it will sometimes drop off, give the 400 bad request error, and continue to work like nothing happened.

I am trying to get this set up for a production app later, but I seem to be having a pretty big issue.

Here is the Nginx file:

server {
  listen 80;
  listen [::]:80;
  server_name url url;
  return 301 https://$host$request_uri;

server {

# SSL configuration

listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name url  url;

ssl        on;
ssl_certificate         /etc/ssl/certs/cert.pem;
ssl_certificate_key     /etc/ssl/private/key.pem;
ssl_client_certificate /etc/ssl/certs/cloudflare.crt;
ssl_verify_client on;

location / {
       proxy_pass    http://localhost:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;

I replaced my host with URL for keeping my url private, but it is correct in the normal file.