Spring Fresh Sale! - Up To 67% OFF BDIX Hosting + Free Domain
Node.js

How to Enable Free SSL (HTTPS) for a Node.js App on Webuzo

You secure a Node.js app on Webuzo by issuing a free Let's Encrypt SSL certificate for your domain and letting OpenLiteSpeed handle HTTPS, while your app runs on local HTTP behind the proxy. This gives you the padlock and encrypted traffic without changing your app's code.

How SSL fits the Webuzo setup

Your Node app speaks plain HTTP on a local port. OpenLiteSpeed sits in front as a reverse proxy and terminates SSL — it presents the certificate to visitors and encrypts the public connection. So SSL is configured at the web-server level, not inside your app.

Step 1: Issue a free certificate

In the Webuzo panel, use the SSL / Let's Encrypt tool to issue a free certificate for your domain (and any subdomains your app uses). Webuzo requests and installs it for you.

Step 2: Ensure the proxy serves HTTPS

Confirm your domain's HTTPS (port 443) traffic is routed through the reverse proxy to your app's local port, so the app is reachable over https://. This is the same proxy setup that serves HTTP, now with the certificate applied.

Step 3: Redirect HTTP to HTTPS

Force all traffic to HTTPS so visitors always use the secure connection — set up a redirect from HTTP to HTTPS at the web-server level.

Step 4: Renewal

Let's Encrypt certificates are short-lived and renew automatically in Webuzo. It is worth confirming auto-renewal is enabled so your certificate never lapses.

Webuzo's SSL menu varies by version; use these as general steps.

Frequently asked questions

Does my Node app need to handle SSL itself?

No — terminate SSL at OpenLiteSpeed and let your app run on local HTTP behind the proxy. This is simpler and keeps certificate management in one place, and it is the standard Webuzo approach.

Is the certificate really free?

Yes — Let's Encrypt certificates are free and Webuzo can issue and auto-renew them. They provide the same encryption and browser trust as paid certificates for standard use.

My app loads on HTTP but not HTTPS.

Make sure the certificate is issued for the domain and that port 443 traffic is proxied to your app's port, just like your HTTP traffic. A missing certificate or an unproxied 443 is the usual cause.

Was this article helpful?