Http request node tls

My HTTP Request node fails with a socket hang-up when calling an internal service that enforces specific TLS versions. Postman works from my machine, but running in Docker cannot establish the handshake. Is this a Node.js TLS stack limitation ?

Describe the problem/error/question

What is the error message (if any)?

Please share your workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

Share the output returned by the last node

Information on your n8n setup

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

This is helpful

Yeah this is a Node.js TLS thing, Postman uses its own TLS stack so it’ll behave differently. Add NODE_OPTIONS=--tls-min-v1.0 (or whatever version your service needs) as an env var in your Docker compose and that should sort the handshake out. If the service also uses an internal CA you’ll need NODE_EXTRA_CA_CERTS pointed at the cert file mounted into the container.

Yeah this is almost certainly OpenSSL 3 in the newer Node.js versions that n8n’s Docker image ships with, it dropped support for a bunch of legacy ciphers and TLS versions that Postman still handles fine. Try adding NODE_OPTIONS="--tls-min-v1.0" to your container’s environment variables, or if the service uses really old ciphers NODE_OPTIONS="--tls-cipher-list=DEFAULT@SECLEVEL=0" should get you past the handshake failure.