'how to redirect nextjs app to https on cpanel

I'm new whit Reactjs and Nextjs and I develop an online shop project, I deploy it on a Cpanel and I want to redirect it on SSL port HTTPS how to do it

app.js:

const { createServer } = require("http");
const { parse } = require("url");
const next = require("next");
const dev = process.env.NODE_ENV !== "production";

const port = !dev ? process.env.PORT : 3000;

// Create the Express-Next App
const app = next({ dev });
const handle = app.getRequestHandler();

app
    .prepare()
    .then(() => {
        createServer((req, res) => {
            const parsedUrl = parse(req.url, true);
            const { pathname, query } = parsedUrl;
            handle(req, res, parsedUrl);
            console.log("pathname", pathname);
        }).listen(port, (err) => {
            if (err) throw err;
            console.log(`> Ready on http://localhost:${port}`);
        });
    })
    .catch((ex) => {
        console.error(ex.stack);
        process.exit(1);
    });


Solution 1:[1]

use .htaccess in your home directory

and use this code:

# DO NOT REMOVE. CLOUDLINUX PASSENGER CONFIGURATION BEGIN
PassengerAppRoot "/home/yoursitename/public_html/node"
PassengerBaseURI "/"
PassengerNodejs "/home/yoursitename/nodevenv/public_html/node/16/bin/node"
PassengerAppType node
PassengerStartupFile app.js
# DO NOT REMOVE. CLOUDLINUX PASSENGER CONFIGURATION END
RewriteEngine On
RewriteCond %{HTTP_HOST} ^yoursitename\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yoursitename.com/$1 [R,L]

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Amir Hossein