Compré un certificado SSL en GoDaddy y estoy usando el siguiente node.js servidor para intentar configurarlo:

var https = require('https'),      //module for https
    fs =    require('fs');         //required to read certs and keys

var options = {
    key: fs.readFileSync('../../ssl/example.com.key'),
    cert: fs.readFileSync('../../ssl/example.com.crt'),
    ca: fs.readFileSync('../../ssl/gd_bundle.crt'),
    requestCert:        true,
    rejectUnauthorized: false
};

https.createServer(options, function (req, res) {
    if (req.client.authorized) {
        res.writeHead(200, {"Content-Type": "application/json"});
        res.end('{"status":"approved"}');
    } else {
        res.writeHead(401, {"Content-Type": "application/json"});
        res.end('{"status":"denied"}');
    }
}).listen(443);

Después de ejecutar el servidor, he intentado visitar el sitio web en https://example.com y acabo de llegar de

{"status":"denied"}

Supongo que esto está funcionando correctamente ya que estoy recibiendo una respuesta, pero creo que mi comprensión de cómo funciona el protocolo SSL está mal. Pensé que el navegador recibe el certificado del servidor, que luego se autentica contra raíz de certificados, es decir, de GoDaddy. así que no le puedo obtener

{"status":"approved"}

simplemente visitando https://example.com ?

Así que supongo que mi pregunta es, ¿cómo puedo visitar https://example.com y obtener {«status»:»aprobado»}?

Gracias!

2 Comentarios

  1. 3

    El motivo de que se les nieguen, es porque usted está tratando de autenticar mediante la autenticación de certificado de cliente. Cada usuario final necesita un certificado de cliente firmado por el certificado de servidor. Cómo el programa de instalación de Certificados de Cliente y Certificado de Autenticación con el Nodo.

    Si se acaba de intentar cifrar su tráfico web, usted no necesita los certificados de cliente. Utilice el ejemplo que aquí http://nodejs.org/docs/latest/api/https.html si sólo quieres el tráfico cifrado.

Dejar respuesta

Please enter your comment!
Please enter your name here