HTTP работает, но HTTPS не работает в Nodejs со стеком LAMP - PullRequest
0 голосов
/ 05 марта 2020

У меня есть рабочий сайт (https://example.com/) с PHP, apache2, MySQL в Ubuntu 18

Я хочу создать API (https://example.com/api) с использованием nodejs и express js. Итак, мы установили node js и начали работать над созданием приложения Nodejs внутри /api (на той же машине с Ubuntu). мы можем легко получить доступ к нашему API без https (http://example.com/api), но когда мы пытаемся использовать https (https://example.com/api), он вообще не работает. И основной сайт по-прежнему работает нормально с https.

Я не понимаю, почему https не работает для папки / api, но работает для всего сайта. Я пробовал другое решение, но у меня ничего не работает. Потому что многие решения рекомендуют использовать Nginx. Но я совсем не знаком с Nginx, и у нас есть много пользовательских настроек для apache2, и мы не знаем, как мы можем это заархивировать.

Вот простой код, который написан в индексе. js внутри /api папка

app.get('/',function (req, res, next) {

    res.json({
        'success': {
            'message': 'done'
        }
    });
});

Любая помощь будет оценена. Спасибо

Редактировать:

Я пытался с ответом на этот вопрос ( Включение HTTPS на express. js), и это работая с https, теперь я беспокоюсь о том, это правильный способ для реализации SSL? или мы должны попытаться сделать это с помощью apache файла конфигурации

1 Ответ

0 голосов
/ 09 марта 2020

HTTPS Должен быть включен на вашем HTTP-сервере Apache2, а не на NodeJS. Затем вы должны использовать proxypass для прокси / api в ваше приложение (которое будет стоять на каком-либо порту - заблокировать порт от прямого обмена данными извне сервера). Тогда все клиенты будут использовать HTTPS для подключения к самому Apache2, но apache2 будет использовать обычное соединение с узлом - поэтому у вас есть ssl для внешнего использования и пользователей, но нет чрезмерных издержек для самого узла.

Примеры: https://httpd.apache.org/docs/2.4/mod/mod_proxy.html

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