web-dev-qa-db-fra.com

Le type de serveur est-il important lors de l'achat d'un certificat SSL auprès de Network Solutions for NodeJS?

J'exécute une instance d'ExpressJS à l'aide de NodeJS et souhaite qu'elle commence à utiliser HTTPS.

Ma société achète des certificats SSL via Network Solutions. Lorsque vous essayez de leur donner mon CSR, Network Solutions vous demande le type de serveur Web que j'utilise. (c'est-à-dire IIS, Apache avec ModSSL, Plesk, etc.) Il ne propose aucune option pour NodeJS ou autre.

J'ai contacté leur soutien pour poser ma question mais, en attendant, j'aimerais connaître le point de vue de la communauté.

  1. Quel type de serveur dois-je utiliser? et

  2. Est-ce même important?

Le cas échéant, j'ai généré la CSR avec OpenSSL sur Ubuntu.

2
Ryan Jarvis

Node.js peut gérer les certificats dans plusieurs formats, mais le plus commun et le plus facile à configurer est le format PEM utilisé par Apache, nginx, etc. Peu importe ce que vous demandez à NetSol, tant qu'il ne s'agit pas d'IIS. , qui utilise un format complètement différent.

Le seul véritable accroc que vous pourriez rencontrer concerne les certificats d’autorité de certification intermédiaires, dont NetSol dispose pour de nombreuses raisons. Ceux-ci doivent être concaténés ensemble avant utilisation.

Je vous recommande de choisir l'option Apache/Plesk de NetSol. Avec cette option vous recevrez plusieurs fichiers , seuls deux d'entre eux sont importants ici:

  • example.com.crt - Ceci est votre certificat actuel.
  • Apache_Plesk_Install.txt - Malgré son nom déroutant, ce fichier contient en fait tous les certificats d'autorité de certification intermédiaires concaténés, et vous pouvez l'utiliser tel quel.

Bien sûr, vous aurez également besoin de la clé privée que vous avez générée sur votre machine Ubuntu.

Même si vous avez sélectionné un format différent pour vos clés, vous devriez pouvoir vous connecter à votre compte avec Network Solutions et télécharger votre certificat et votre fichier Apache_Plesk_Install.txt séparément.


Enfin, vous installez ces certificats quelque part sur votre serveur, et configurez Node.js de manière appropriée :

var https = require('https');
var fs = require('fs');

var options = {
  key: fs.readFileSync('.../keys/private.key'),
  cert: fs.readFileSync('.../keys/example.com.crt'),
  ca: fs.readFileSync('.../keys/Apache_Plesk_Install.txt')
};

https.createServer(options, function (req, res) {
  res.writeHead(200);
  res.end("hello world\n");
}).listen(443);

Et tu as fini!

3
Michael Hampton