tls nodejs node letsencrypt ciphers certificates node.js ssl openssl

nodejs - Generar una clave SSL para trabajar con node.js



openssl nodejs (2)

Estoy trabajando para configurar un SSL a través de GoDaddy para usarlo con mi servidor node.js en AWS EC2. No he podido hacer que funcione.

Esto es lo que he intentado:

Destinado para el dominio: files.mysite.com

En el servidor que ejecuto:

$ openssl req -new -newkey rsa:2048 -nodes -keyout files.mysite.key -out files.mysite.csr Common Name: files.mysite.com password: left empty

Luego obtengo el CSR: vim files.mysite.csr

Copio y pego desde:

-----BEGIN CERTIFICATE----- ......... lots of stuff -----END CERTIFICATE-----

Hay una línea vacía adicional al final, que dejo y pego en la interfaz de GoDaddy usando rekey.

Luego descargo la clave godaddy que proporciona:

gd_bundle.crt files.mysite.com.crt

Luego en el nodo I insertar:

key: fs.readFileSync(''server.key'').toString(), cert: fs.readFileSync(''server.crt'').toString()

No estoy seguro de qué servidor.key es o server.crt dado que GoDaddy proporciona dos archivos crt?
¿Puede usted ayudar?


Debería usar archivos .crt y .key en la creación de su instancia de servidor http. El siguiente fragmento te dará la idea:

require(''https'').createServer({ key: fs.readFileSync(''/path/to/something.key''), cert: fs.readFileSync(''/path/to/something.crt''), }, app).listen(443);

Si tiene una frase de contraseña para su clave, puede pasarla de la siguiente manera:

require(''https'').createServer({ key: fs.readFileSync(''/path/to/something.key''), cert: fs.readFileSync(''/path/to/something.crt''), passphrase: ''your_secret_passpahrase'' }, app).listen(443);


GoDaddy usa un certificado intermedio para firmar su certificado. Esto tiene varias ventajas tanto para ti como para GoDaddy. Pero se necesita un poco más de trabajo para que funcione (solo un poco, principalmente buscando en Google).

En node.js puedes instalarlos así:

require(''https'').createServer({ key: fs.readFileSync(''files.mysite.com.key''), cert: fs.readFileSync(''files.mysite.com.crt''), ca: [fs.readFileSync(''gd_bundle.crt'')] // <----- note this part }, app).listen(443);