Узел JS express-http-proxy: невозможно загрузить первый сертификат - PullRequest
0 голосов
/ 18 апреля 2019

У меня есть узел js-сервер на локальной сети, который загружает 3 общедоступных сайта на основе req.hostname:

app.get('/*',function(req,res){
    console.dir(req.hostname);
    console.dir(req.path);
    var hostPath = '';
    var pagePath = '';
    if (req.path === '/') { pagePath = '/index' } else { pagePath = req.path }

    switch(req.hostname){
        case 'dom-1.com':
        case 'www.dom-1.com':
        hostPath = 'pages/dom-1';
        break;
        case 'dom-2.com':
        case 'www.dom-2.com':
        hostPath = 'pages/dom-2';
        break;  
        case 'dom-3.com':
        case 'www.dom-3.com':
        hostPath = 'pages/dom-3';
        break;
    }
    res.render(hostPath + pagePath);
});

выше этого кода У меня есть следующее, с помощью которого я пытаюсь также обслуживать (через порт 443) мой почтовый сервер по локальной сети через прокси:

app.use('/mail/', proxy('https://192.168.0.87',{
    https: true
}));

но я получаю при загрузке https://mail.email.com/mail в браузере за пределами локальной сети:

Error: unable to verify the first certificate
at TLSSocket.<anonymous> (_tls_wrap.js:1116:38)
at emitNone (events.js:106:13)
at TLSSocket.emit (events.js:208:7)
at TLSSocket._finishInit (_tls_wrap.js:643:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:473:38)

Мы прошли шаги, чтобы убедиться, что сертификаты одинаковы на этом сервере и на почтовом сервере

Мы пытались сделать

require('https').globalAgent.options.ca = require('ssl-root-cas/latest').create();

но это просто ломает вещи, говоря, что https.createServer не является функцией (далее в коде)

Если у кого-нибудь есть какие-то предложения для нас, это было бы замечательно!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...