Estoy acostumbrado a implementar aplicaciones de nodo HTTPS en servidores DigitalOcean usando Docker, el marco Express y el paquete https como este:
const https = require('https'); const app = express(); // ... const ssl = { key: fs.readFileSync(process.env.PRIVATE_KEY), cert: fs.readFileSync(process.env.CERT), ca: fs.readFileSync(process.env.CHAIN), }; const server = https.createServer(ssl, app); server.listen({ port }, () => { // ... });
Mi aplicación está dentro de un contenedor Docker, pero expongo los certificados que están en el droplet con la opción "v" cuando ejecuto Docker, así:
-v /etc/letsencrypt/:/etc/letsencrypt
Finalmente, mi contenedor Docker recibe variables de entorno para que mi aplicación Node pueda conocer las rutas a los diversos archivos de certificados. Por ejemplo,
CADENA=/etc/letsencrypt/live/mydomain.com/chain.pem
Y ahora, mi aplicación Node puede leer los certificados y crear un servidor HTTPS con ellos.
No sé si esta configuración es ideal, pero funciona bien.
Ahora, me pregunto cómo hacer lo mismo usando la plataforma de aplicaciones DigitalOcean .
Hasta ahora, lo que he hecho es esto:
Pero no puedo hacer que funcione con los certificados y, por lo tanto, hacer que mi aplicación HTTPS funcione.
¿Alguien aquí tiene una idea?