У меня есть сервер SSL в Express, который не работает во всех браузерах (если только пользователь не доверяет веб-сайту), поскольку некоторые браузеры требуют сертификат цепи (у нас есть собственный промежуточный сертификат). Я поместил наш промежуточный и цепной сертификат в один .crt файл. Цепь + промежуточный сертификат находится в переменной INT_CERT_FILE
. Кажется, это не работает. Я использую http://www.digicert.com/help, а также запуск openssl s_client -connect tasker.adnxs.net:443 -showcerts | grep "^ "
для проверки, но, похоже, он не возвращает сертификат промежуточной + цепи.
Вот как я его настраиваю:
var fs = require("fs");
var https = require("https");
var express = require("express");
var KEY_FILE = fs.readFileSync("path/to/key/file.key");
var CERT_FILE = fs.readFileSync("path/to/crt/file.crt);
var INT_CERT_FILE = fs.readFileSync("path/to/intermediate and chain crt.crt");
var _app_https = express();
var _server_https = null;
_server_https = https.createServer({
key: KEY_FILE,
cert: CERT_FILE,
ca: INT_CERT_FILE
}, _app_https).listen(443);
Когда вы посещаете Firefox, Firefox не распознает его идентификатор и требует, чтобы его вручную доверяли. Как я могу исправить эту проблему?
Спасибо,