Поддержка Sails JS API SSL / https - PullRequest
0 голосов
/ 02 марта 2019

У меня машина Ubuntu с установленным WordPress в качестве внешнего интерфейса.Он работает с моим www.example.com и использует только HTTPS (если вы используете HTTP, вы будете автоматически перенаправлены на HTTPS).На той же машине у меня установлен сервер приложений sails (версия 0.12) и работает на порту 1337. У меня на WordPress есть форма, которая отправляет команды post в API, работающий на приложении sails, и я получаю сообщение об ошибке, так как сайт / страницабыл загружен с использованием HTTPS, а API - нет.

Если я использую Chrome для доступа к http://www.example.com:1337/api, то API активируется, и я получаю результат.Когда я пытаюсь использовать https://www.example.com:1337/api - я получаю эту ошибку:

Этот сайт не может предоставить безопасное соединение. Domain.com отправил неверный ответ.Попробуйте запустить диагностику сети Windows.ERR_SSL_PROTOCOL_ERROR

У меня есть правильные файлы сертификатов на машине, что мне нужно сделать, чтобы настроить паруса на использование HTTPS вместо HTTP?

Спасибо!

1 Ответ

0 голосов
/ 03 марта 2019

Я думаю, вы должны предоставить файл конфигурации, чтобы сообщить Sails об использовании этих сертификатов в производстве.Создайте в config/local.js файл, содержащий все пути для ваших SSL-сертификатов, или скопируйте этот код в config/env/production.js:

var fs = require('fs');

/**
 * SSL certificates config file
 */
module.exports = {

   ssl : {
        ca: fs.readFileSync('/etc/letsencrypt/live/example.com/chain.pem'),
        key: fs.readFileSync('/etc/letsencrypt/live/example.com/privkey.pem'),
        cert: fs.readFileSync('/etc/letsencrypt/live/example.com/cert.pem')
   },

   port: process.env.PORT || 443

};

Небольшой совет: если вы хотите перенаправить вызовы с порта 80 на порт 443Вы можете использовать NGINX.

...