SaaS с использованием Apache, докера и фляги - PullRequest
0 голосов
/ 15 мая 2019

Я работаю над приложением, использующим flask и mysql, приложение прекрасно работает, и оно уже работает, для этого у меня есть несколько клиентов, которые будут его использовать, поэтому я использую docker для изоляции экземпляров (kubernetes в в ближайшем будущем), я протестировал подход с использованием docker-compose.yaml, и он хорошо работает, и развертывает приложение, используя порт, например, 5001 (клиент 1), 5002 (клиент 2) и т. д. *

Для пересылки запросов я использовал apache proxypass следующим образом:

conf.d/customer1:
ProxyPass /customer1/myapp http://localhost:5001/
ProxyPassReverse /customer1/myapp http://localhost:5001/

conf.d/customer2:
ProxyPass /customer2/myapp http://localhost:5002/
ProxyPassReverse /customer2/myapp http://localhost:5002/

Шаги по автоматизации развертывания докера для новых клиентов довольно просты с Kubernetes (или обычным докером), но с чем я сталкиваюсь, так это с конфигурацией apache, при которой необходимо изменить доступный сайт или перезагрузить сервис загрузка новых файлов конфигурации из папки conf.d выглядит немного мусором, что я хотел бы иметь что-то вроде:

ProxyPass /[customer]/myapp http://localhost:[port]/
ProxyPassReverse /[customer]/myapp http://localhost:[port]/

И есть способ сопоставить клиента с портом без перезагрузки или обновления apache, есть ли способ сделать это?

Примечание: я бы перешел с rewriterules на proxypass из-за проблем с url_ из-за неправильного отображения. (здесь, в SO, идет долгое обсуждение)

...