в нашем приложении у нас есть основной API-сервис, размещенный с использованием python и flask, который также обрабатывает аутентификацию, ssh и т. Д. Он встроен в Docker-контейнер.Кроме того, у нас есть приложение реагирования в другом контейнере док-станции, предоставляющее веб-сайт для конечного пользователя.
Что бы мы хотели иметь: доступ к веб-сайту должен быть только через наш основной API-интерфейс (через / home).в этом примере) по нескольким причинам.Таким образом, мы хотели бы, чтобы этот тип фляги служил статической папке, содержащей содержимое веб-сайта, в то время как эта папка изначально размещена другой службой.
Что мы пробовали: мы пытались реализовать простую архитектуру пересылки, которая просто пересылаетвсе запросы на
а) основной веб-сайт
б) все необходимые статические файлы
Это работает в том смысле, что основной веб-сайт, а также некоторые статические файлы (js, css) попадают в браузер пользователя, но ни один из узлов node_modules и т. д. не пересылается, и, следовательно, веб-сайт не отображается.
from api import app_api
from ..frontend_util import frontend_get_request
from flask import request
@app_api.route('/home', methods=['GET'])
def frontend_forward():
return frontend_get_request('/')
@app_api.route('/manifest.json', methods=['GET'])
def frontend_manifest_forward():
return frontend_get_request('/manifest.json')
@app_api.route('/static/<folder>/<path:filename>', methods=['GET'])
def frontend_static_forward(folder, filename):
return frontend_get_request('/static/{}/{}'.format(folder, filename), headers=request.headers)
frontend_get_request () - это простая функция, которая выполняет запрос на получение.к интерфейсу, использующему пакет «запросы».
Поскольку никто из нас на самом деле не является веб-разработчиком, мы действительно не знаем, является ли это вообще правильным подходом или следует ли решать эту проблему совершенно по-разному,так что мы уже очень благодарны за каждый вклад, который вы можете сделать для нас.
Best Kinetize
PS: Это может быть как-то связано? Прокси-доступ к другому веб-сервису с Flask