Не удается заставить https работать на Express и Apache - PullRequest
0 голосов
/ 31 октября 2018

Я столкнулся с той же проблемой, которая обсуждалась в Как настроить поддержку https в 443 для узла apache AND? Технический стек - MEAN / Apache / Express. Я установил сертификаты SSL от letsencrypt на экземпляр EC2, и целевая страница появляется с защищенным протоколом https. Однако логин не работает.

Я изменил сервер узла, как указано ниже (и как предложено в вышеупомянутом вопросе).

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

https.createServer({ 
         key: fs.readFileSync("/etc/letsencrypt/live/www.domainname.com/privkey.pem"),
        cert: fs.readFileSync("/etc/letsencrypt/live/www.domainname.com/fullchain.pem")
}, app).listen(3001);

Ключевые моменты: -

  1. Функциональность входа в систему на сервере вызывается из Angular-клиента (через написанную службу аутентификации) путем указания URL-адреса как https://www.domainname.com:3001.

  2. При входе в систему я получаю сообщение об ошибке «Ошибка: не удалось выполнить« открыть »в« XMLHttpRequest »: неверный URL» в Chrome.

  3. Я попытался указать IP-адрес вместо имени домена, когда получил ошибку «Net :: Err_Cert_Common_Name_Invalid».

  4. Apache прослушивает порт 443 для запросов https.

  5. Весь http-трафик перенаправляется на https, и поэтому я считаю, что обратный прокси-сервер здесь не актуален.

  6. Проект все еще находится в разработке и не переведен в производство.

  7. Та же конфигурация / настройка прекрасно работала с http.

Я с нетерпением жду предложений о том, что я делаю неправильно.

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