L'exécution de SSL node.js serveur avec godaddy gd_bundle.crt
Je vais avoir du mal à obtenir mon serveur SSL de travail avec le certificat de godaddy
Express: 3.1.0
Ci-dessous cela fonctionne avec une clé/crt qui a été généré à l'échelle locale et n'est pas signée par go daddy (Le navigateur se plaint, mais si vous ajoutez exception, il fonctionne.
var http = require('https');
var privateKey = fs.readFileSync('/var/www/dev/ssl/server.key').toString();
var certificate = fs.readFileSync('/var/www/dev/ssl/server.crt').toString();
var credentials = {key: privateKey, cert: certificate};
var https = http.createServer(credentials, app);
Avec godaddy je suis a fourni un fichier supplémentaire gd_bundle.crt qui je pense vous mettre en œuvre comme cela, mais je reçois une erreur
var http = require('https');
var privateKey = fs.readFileSync('/var/www/prod/ssl/mysite.key').toString();
var certificate = fs.readFileSync('/var/www/prod/ssl/mysite.com.crt').toString();
var ca = fs.readFileSync('/var/www/prod/ssl/gd_bundle.crt').toString();
var credentials = {key: privateKey, cert: certificate, ca: ca};
var https = http.createServer(credentials, app);
Avec cette configuration, j'obtiens: Erreur 107 (net::ERR_SSL_PROTOCOL_ERROR): protocole SSL erreur.
Pour dire la vérité je ne suis pas la création d'elles les touches/certs notre devops gars ne... je ne suis pas sûr de savoir comment je peux résoudre si je suis la mise en œuvre de la godaddy ceux qui ont été mal ou si il y a une manière de vous assurer que l'installation de la clé/crt correctement les fichiers....
Personne ne voit rien, de manière flagrante évidemment faux?
Vous devez vous connecter pour publier un commentaire.
Nœud nécessite chaque certificat de la chaîne de CA pour être transmis séparément dans un tableau.
gd_bundle.crt
ressemble probablement à ceci:Chaque certificat doit être placé dans son propre fichier (c'est à dire
gd1.crt
etgd2.crt
) et de les lire séparément.BEGIN CERTIFICATE
...END CERTIFICATE
bloc dans un fichier séparé, puis à l'aide d'un tableau, comme illustré ici, a travaillé pour moi. Résolu site qui semble très bien sur le bureau mais n'a pas été approuvé sur android, en utilisant concaténés "apache fichier bundle" de comodo.1a67ca890634629a.crt
&gd_bundle-g2-g1.crt
. Que dois-je faire maintenant ?Demander GoDaddy pour votre certificat ssl en SHA-1 signature et de briser le fichier de regroupement en deux fichiers, de cette façon...
DE votre
gd_bundle.crt
À
gd_bundle_01.crt
ET
gd_bundle_02.crt
ensuite sur votre serveur ce faire
$openssl genrsa -des3 -out www.yourdomain-example.com.key 2048
Récemment, j'ai eu un problème similaire avec de Godaddy des certificats SSL sur l'un de nos node.js les serveurs. Dans mon cas, le problème était avec l'un de nos serveurs de validation du SSL à l'aide de PHP curl fonctions.
Il s'avère que j'ai eu à choisir SHA-1 signature algorithme lors de la soumission de la RSE pour Godaddy. Je suppose que c'est de plus compatible avec les anciens systèmes.
Plus simple
Pourquoi être si spécifique juste pour GoDaddy est CA bundle quand vous pouvez garder la même approche pour les différents environnements? J'ai seulement besoin de deux fichiers pour dev env par exemple, mais la production est à l'aide de GoDaddy certs et a beaucoup alors que faire?
Pour GoDaddy, je prends leur bundle et l'ajouter dans un seul fichier et le nom de l'extension PEM ainsi que le fichier de la clé qui donne une jolie approche standard pour tous les types de certificats.
Puis vous vous retrouvez juste le faire pour tous les environnements:
Dans votre GoDaddy cert.fichier pem il vous suffit de placer votre certificat et votre faisceau de fichiers de 1 à x (de haut en bas) et vous êtes fait comme suit:
Pas nécessairement mieux, mais je la préfère. Je n'ai pas rencontre sur Express 3.x que j'avais à faire, le CA de la matrice de route, mais j'ai peut être mauvais pour la version spécifique.