Назад | Перейти на главную страницу

Как сделать бэкэнд (Flask) доступным только из внешнего интерфейса (Angular) на Apache?

Я размещаю приложение Angular (порт 443) и приложение Flask с mod_wsgi (порт 5000) с использованием Apache 2.4. На данный момент внутреннее приложение доступно во всем мире через Интернет. Я хочу, чтобы он был доступен только через приложение Angular.

Я безуспешно пытался добавить этот фрагмент кода в свою серверную конфигурацию Apache conf - приложение все еще доступно для всех:

<Directory /var/www/my-site/app/>
     Require ip server_ip
</Directory>

Я также подумал о добавлении ufw rules, но это сделало бэкэнд-приложение полностью недоступным:

sudo ufw deny 5000/tcp
sudo ufw allow from server_ip to any port 5000 proto tcp

Последнее, что я пробовал, было mod_proxy но, похоже, это не тот инструмент (или, может быть, я что-то делаю не так?). Я добавил это в конфигурацию внешнего интерфейса Apache:

ProxyPreserveHost On
ProxyPass / https://server_ip:5000/
ProxyPassReverse / https://server_ip:5000/

Есть ли другой способ добиться того, чего я хочу? Или, может быть, некоторые из моих решений ошибочны?