Ce que j'ai fait
J'utilisé certbot
pour certifier que je possède mon domaine, qui a généré plusieurs fichiers .pem
. Les certificats sont énumérés ici:Comment configurer HTTPS à l'aide Crypter Lets, nœud et Express 4
J'ai trouvé this post qui a du sens et correspond à toutes les autres informations que je reçois de Google, mais quand je fais cela et exécutez le nœud, je ne peux pas me connecter à mon site en utilisant https . Http fonctionne bien comme il l'a toujours fait.
Mon serveur est express.js + node.js et je n'utilise pas de proxy inverse comme nginx. Il fonctionne sur Ubuntu sur Google Cloud Platform.
Le code correspondant est:
var http = require('http');
var https = require('https');
var privateKey = fs.readFileSync('/etc/letsencrypt/live/troywolters.com/privkey.pem', 'utf8');
var certificate = fs.readFileSync('/etc/letsencrypt/live/troywolters.com/fullchain.pem', 'utf8');
var credentials = {key: privateKey, cert: certificate};
var app = express();
// Lots of other express stuff (app.use()'s)
var httpServer = http.createServer(app);
var httpsServer = https.createServer(credentials, app);
httpServer.listen(80);
httpsServer.listen(443);
Ce qui ne fonctionne pas
Lorsque je tente de me connecter à mon site en utilisant https://troywolters.com les temps de connexion dehors et rien ne se passe. Qu'est-ce que je fais mal?
Lorsque vous êtes connecté à votre serveur, pouvez-vous faire une demande locale au port 443 pour vous assurer que votre application node.js gère correctement la demande? Si c'est le cas, vous avez probablement un problème/port iptable bloqué. Si ce n'est pas le cas, il y a un problème avec votre application. – Darkrum
@Darkrum Désolé, comment je ferais ça? J'ai essayé de regarder 'ping' mais il semble ne pas faire https, seulement ECHO, et curl se bloque juste quand je fais curl --request https: // troywolters.com'. Quand je fais 'curl --request https: // 127.0.0.1' bien qu'il dise: curl: (51) SSL: le nom du sujet du certificat (troywolters.com) ne correspond pas au nom d'hôte cible '127.0.0.1' alors peut-être que c'est un bon signe? – TW80000