Installing SSL cert for n8n HTTPS mode

Describe the issue/error/question

I have just set up n8n using the Kubernetes guide. I am trying to get it working on my own subdomain and I have configured the environment variables as follows:

          - name: N8N_PROTOCOL
            value: https
          - name: N8N_PORT
            value: "5678"
          - name: N8N_EDITOR_BASE_URL
            value: https://n8n.myurl.tld
          - name: N8N_HOST
            value: n8n.myurl.tld

However I am getting ERR_SSL_PROTOCOL_ERROR and I figure this is because I need to set up the SSL certificate using their respective environment variables.

What I am trying to work out is where to store the SSL certs / how to inject them in to the Kubernetes deployment.

I couldn’t find anything in the docs on this - can anyone point me in the right direction?

Many thanks
Jonathan

Information on your n8n setup

  • n8n version: Latest version from the Azure setup guide
  • Database you’re using (default: SQLite): Postgres
  • Running n8n with the execution process [own(default), main]: ?
  • Running n8n via [Docker, npm, n8n.cloud, desktop app]: Kubernetes

Hi @JNathanson, welcome to the community!

From taking a quick look at the tutorial it doesn’t include the SSL setup specifically.

If you want n8n to terminate SSL/TLS connections you’d need to point the N8N_SSL_CERT and N8N_SSL_KEY environment variables to the respective locations on your volume.

That said, SSL/TLS termination often takes place outside of n8n (or most other applications for that matter), for example through a reverse proxy or your load balancer service. You might want to refer to their respective documentation for more information on this.

If you’re new to n8n you could also consider starting with a simpler setup than a k8s cluster (the Digital Ocean and Hetzner setups describe a simple Docker/Caddy setup which should also work on other hosting providers).

Thanks, I’ll take a look at setting up an nginx reverse proxy instead of using certs directly in N8N.