Как использовать Apache для перенаправления запросов на Node-Red? - PullRequest
0 голосов
/ 03 мая 2019

Я запускаю в AWS Ubuntu с док-сервером (управляемым Portainer) с этими двумя работающими контейнерами:

1 - NodeRed (Обслуживание моих API)
2 - Apache (размещает сайт, который использует API из NodeRed выше)

Я настроил домен для этого сервера и настроил apache для работы с SSL. Apache работает нормально с моим сайтом через HTTPS, но проблема в том, что NodeRed (который работает в порту 1080) не настроен для работы в SSL. Это приводит к сбоям в работе моего веб-сайта, поскольку мои конечные точки API работают по протоколу HTTP и блокируются браузером по соображениям безопасности.

Вопрос: есть ли способ создать некое «отображение» в apache, которое получает запрос от HTTPS и перенаправляет его на NodeRed в HTTP (оба работают на одном сервере)?

Моя идея состоит в том, чтобы создать поддомен, подобный https://api.mysite.com, который отправляет запрос на apache, а затем apache перенаправляет его на мой NodeRed. Это возможно?

1 Ответ

0 голосов
/ 03 мая 2019

Нет необходимости открывать API для внешнего мира, если вы этого не хотите. Поскольку ваш apache работает правильно и оба контейнера работают на одном хосте, просто используйте прокси для пересылки запросов API в контейнер API.

Вы можете добиться этого, добавив две строки в конфигурацию apache, т.е.

ProxyPass /api/ http://127.0.0.1:1080/
ProxyPassReverse /api/ http://127.0.0.1:1080/
...