title: Heroku Node App Error: write EPROTO 140592586876736:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure
body: <p>I got this error once in while when running Node app on Heroku. We use cloudflare certificate. There's currently nothing that we know affects the end users. </p>
  
  <p>However, it distracts the team and I would like to change/fix this if possible. Can someone have any idea? Or whether I should provide more other information? Thanks!</p>
  
  <pre><code>Dec 2 07:22:48 app[web] Error Error while running `getDataFromTree` { Error: Network error: request to https://domain.io/graphql failed, reason: write EPROTO 140592586876736:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../deps/openssl/openssl/ssl/record/rec_layer_s3.c:1407:SSL alert number 40
  Dec 2 07:22:48 app[web] info 
  Dec 2 07:22:48 app[web] info     at new ApolloError (/app/node_modules/apollo-client/bundle.umd.js:124:32)
  Dec 2 07:22:48 app[web] info     at /app/node_modules/apollo-client/bundle.umd.js:1248:45
  Dec 2 07:22:48 app[web] info     at /app/node_modules/apollo-client/bundle.umd.js:1680:21
  Dec 2 07:22:48 app[web] info     at Array.forEach (&lt;anonymous&gt;)
  Dec 2 07:22:48 app[web] info     at /app/node_modules/apollo-client/bundle.umd.js:1679:22
  Dec 2 07:22:48 app[web] info     at Map.forEach (&lt;anonymous&gt;)
  Dec 2 07:22:48 app[web] info     at QueryManager.broadcastQueries (/app/node_modules/apollo-client/bundle.umd.js:1672:26)
  Dec 2 07:22:48 app[web] info     at /app/node_modules/apollo-client/bundle.umd.js:1175:35
  Dec 2 07:22:48 app[web] info     at process._tickCallback (internal/process/next_tick.js:68:7)
  Dec 2 07:22:48 app[web] info   graphQLErrors: [],
  Dec 2 07:22:48 app[web] info   networkError:
  Dec 2 07:22:48 app[web] info    { FetchError: request to https://domain.io/graphql failed, reason: write EPROTO 140592586876736:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../deps/openssl/openssl/ssl/record/rec_layer_s3.c:1407:SSL alert number 40
  Dec 2 07:22:48 app[web] info    
  Dec 2 07:22:48 app[web] info        at ClientRequest.&lt;anonymous&gt; (/app/node_modules/isomorphic-unfetch/node_modules/node-fetch/lib/index.js:1345:11)
  Dec 2 07:22:48 app[web] info        at ClientRequest.emit (events.js:182:13)
  Dec 2 07:22:48 app[web] info        at TLSSocket.socketErrorListener (_http_client.js:391:9)
  Dec 2 07:22:48 app[web] info        at TLSSocket.emit (events.js:182:13)
  Dec 2 07:22:48 app[web] info        at onwriteError (_stream_writable.js:431:12)
  Dec 2 07:22:48 app[web] info        at onwrite (_stream_writable.js:456:5)
  Dec 2 07:22:48 app[web] info        at _destroy (internal/streams/destroy.js:40:7)
  Dec 2 07:22:48 app[web] info        at TLSSocket.Socket._destroy (net.js:613:3)
  Dec 2 07:22:48 app[web] info        at TLSSocket.destroy (internal/streams/destroy.js:32:8)
  Dec 2 07:22:48 app[web] info        at WriteWrap.afterWrite [as oncomplete] (net.js:790:10)
  Dec 2 07:22:48 app[web] info      message:
  Dec 2 07:22:48 app[web] info       'request to https://domain.io/graphql failed, reason: write EPROTO 140592586876736:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../deps/openssl/openssl/ssl/record/rec_layer_s3.c:1407:SSL alert number 40\n',
  Dec 2 07:22:48 app[web] info      type: 'system',
  Dec 2 07:22:48 app[web] info      errno: 'EPROTO',
  Dec 2 07:22:48 app[web] info      code: 'EPROTO' },
  Dec 2 07:22:48 app[web] info   message:
  Dec 2 07:22:48 app[web] error    'Network error: request to https://domain.io/graphql failed, reason: write EPROTO 140592586876736:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../deps/openssl/openssl/ssl/record/rec_layer_s3.c:1407:SSL alert number 40\n',
  Dec 2 07:22:48 app[web] info   extraInfo: undefined,
  Dec 2 07:22:48 app[web] info   queryErrors: [ [Circular] ] }
  </code></pre>