Para los que tengan su proyecto en un index.js

primero debemos crear el servidor virtual con el dominio: create virtual Server en mi caso puse envivo.top y luego crear.

Luego verificamos entrando a la carpeta de dominios:

/etc/apache2/sites-available/

entramos en esta carpeta escribiendo:

nano envivo.top.conf 

luego tendrás que agregar los campos:

ATENCIÓN : Si estas usando webmin el certificado lo agrega automaticamente asi que no tendras que agregar las lineas del certificado.

<VirtualHost *:80>
    ServerName envivo.top
    Redirect permanent / https://envivo.top/
</VirtualHost>

<VirtualHost *:443>
    ServerName envivo.top

    SSLCertificateFile /etc/letsencrypt/live/envivo.top/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/envivo.top/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf

    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

como siguiente paso es clonar nuestro proyecto en alguna carpeta de nuestro servidor en mi caso: /home/next/envivo.top

Atención: previamente debes instalar pm2:

npm install -g pm2
cd /ruta/del/proyecto
pm2 start tu_script.js

En mi caso me dirijo /home/next/envivo.top y estando en el proyecto escribo:

pm2 start npm --name "envivo.top" -- start

por último debemos correr nuestro proyecto con el siguiente comando:

npm run build

Y listo ya deberia estar corriendo el dominio

Para los que tengan su proyecto en un index.js

pueden guiarse del siguiente codigo:


const dotenv = require('dotenv');
dotenv.config();
const express = require('express');
const https = require('https');
const fs = require('fs');
const route = require('./routes.js');
const cors = require('cors');

const app = express();

app.use(cors());
app.use(express.json());
app.use('/music', express.static('./downloads'));
app.use('/api', route);

// Configuración para el servidor HTTPS
const httpsOptions = {
  key: fs.readFileSync('/etc/ssl/virtualmin/169985729449668/ssl.key'), // Reemplaza con la ruta a tu clav>
  cert: fs.readFileSync('/etc/ssl/virtualmin/169985719449668/ssl.cert'), // Reemplaza con la ruta a tu ce>
};
169985648837673

const httpsServer = https.createServer(httpsOptions, app);

const PORT = 9100; // Cambié el puerto a 9100

httpsServer.listen(PORT, () => {
  console.log('El servidor está corriendo en el puerto ' + PORT);
});

Deja un comentario