How do I fix this EPROTO error on docker?

Please help me on how can I fix this EPROTO error this happens when I execute google sheets node on a workflow

@leppu the EPROTO error you’re seeing with the Google Sheets node is a TLS/SSL protocol error, typically caused by network or certificate issues in your Docker environment.

here are solutions you can try:

  1. Update n8n to Latest Version

Your Docker image may not be up-to-date. Try updating to the latest version using the following commands:

docker pull n8nio/n8n:latest
docker-compose down
docker-compose up -d
  1. Check System Time

SSL/TLS requires accurate system time. Verify your Docker host’s time is correct:

date
# If wrong, sync it:
sudo ntpdate -s time.nist.gov
  1. Add DNS Configuration

Add Google’s DNS to your docker-compose.yml:

services:
  n8n:
    image: n8nio/n8n:latest
    dns:
      - 8.8.8.8
      - 8.8.4.4
    # ... rest of your config

4. Set Node.js TLS Options

Add environment variables to relax TLS requirements (use cautiously):

services:
  n8n:
    image: n8nio/n8n:latest
    environment:
      - NODE_TLS_REJECT_UNAUTHORIZED=0  # Only for testing!
      - NODE_OPTIONS=--tls-min-v1.0
    # ... rest of your config

:warning: Warning: NODE_TLS_REJECT_UNAUTHORIZED=0 disables certificate validation. Only use temporarily to diagnose the issue, not in production.

5. Check Docker Network Mode

If using custom networks, try switching to host network temporarily:

services:
  n8n:
    image: n8nio/n8n:latest
    network_mode: host
    # ... rest of your config

6. Verify Google API Access

Test if your container can reach Google APIs:

# Enter your n8n container
docker exec -it <container_name> sh

# Test connection
curl -v https://sheets.googleapis.com/

# Check DNS resolution
nslookup sheets.googleapis.com

7. Rebuild Credentials

Sometimes the OAuth credentials get corrupted:

  1. Delete your Google Sheets credential in n8n

  2. Create a new one

  3. Re-authenticate with Google

  4. Test the connection

8. Check for Proxy/Firewall

If you’re behind a corporate firewall:

services:
  n8n:
    image: n8nio/n8n:latest
    environment:
      - HTTP_PROXY=http://your-proxy:port
      - HTTPS_PROXY=http://your-proxy:port
      - NO_PROXY=localhost,127.0.0.1
    # ... rest of your config

9. Update CA Certificates

The container might have outdated root certificates:

# Create a custom Dockerfile
FROM n8nio/n8n:latest
RUN apk update && apk add ca-certificates && update-ca-certificates

Then build and use this custom image.

10. Check Docker Logs

Look for more detailed error information:

docker logs <container_name> --tail 100

After trying these solutions, restart Docker completely: docker-compose down && docker-compose up -dClear browser cache and re-login to n8n, test the Google Sheets node again

let me know if this works!

Hey , that ssl3_read_bytes:tlsv1 alert protocol version error usually means something between your Docker container and Google’s API is messing with the TLS handshake. Are you running n8n behind a reverse proxy like Nginx or Traefik or a Cloudflare tunnel? If so that’s almost certainly the culprit, the proxy might be trying to do SSL termination incorrectly. If you’re not using a proxy, try adding NODE_OPTIONS=--openssl-legacy-provider as an environment variable in your docker-compose file and restart the container, that forces Node.js to allow older SSL behavior that sometimes fixes this.

Hey this is a TLS issue inside your Docker container, try adding NODE_OPTIONS=--openssl-legacy-provider as an environment variable in your docker-compose file and restart. Also worth running date inside the container to make sure the clock isn’t off since that breaks SSL handshakes too.

Are you running n8n behind a reverse proxy like Nginx, Traefik, or a Cloudflare Tunnel? That’s usually what causes this, the proxy does its own SSL termination and it messes with n8n’s outbound HTTPS connections to Google’s API. Try adding NODE_OPTIONS=--openssl-legacy-provider as an environment variable in your docker-compose file and restart the container, that fixes it in most cases.