SSL handshake failure with node.js https

I have an API running with express using https. For testing, I’ve been using for the certificates, which work fine on my machine.

I’m using docker to package up the app, and docker-machine with docker-compose to run it on a digital ocean server.

  • Failed to pull Docker image Beanstalk
  • Docker and Spring boot: how to hide port from url?
  • Why is sbt-native-packager staging bin/start as a directory instead of a script?
  • Deploying Java app to Docker image
  • Nginx Cache file is too small
  • Kalabox Drush failins. Can I run a bash shell in the created Docker container instead?
  • When I try to connect with Chrome, I get ERR_SSL_VERSION_OR_CIPHER_MISMATCH. When running this with curl, I get a handshake failure: curl: (35) SSL peer handshake failed, the server most likely requires a client certificate to connect.

    I tried to debug with Wireshark’s SSL dissector, but it hasn’t given me much more info: I can see the “Client Hello” and then the next frame is “Handshake Failure (40)”.

    I considered that maybe node on the docker container has no available ciphers, but it has a huge list, so it can’t be that. I’m unsure as to what’s going on and how to remedy it.


    Here’s my createServer() block:

    let app = express();
    let httpsOpts = {
        key:  fs.readFileSync("./secure/key.pem"),
        cert: fs.readFileSync("./secure/cert.pem")
    let port = 8080;
    https.createServer(httpsOpts, app).listen(port);

  • Passing variables as arguments to docker container
  • Access IP address of Couchbase container on Docker Swarm cluster
  • Why is it needed to set `pam_loginuid` to its `optional` value with docker?
  • RabbitMQ on Docker: Pika hangs on connection when given port, connection refused without port
  • Dockerfile fails to build
  • Create long running .NET Core service targeting Linux Docker container
  • Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.