(Извинения: я новичок в веб-приложении.)
ТРЕБОВАНИЯ:
- Веб-приложение служб приложений Azure
- Требуется Azure AD для аутентификации пользователей
- Приложение Python Bokeh для отображения веб-приложения данных после аутентификации пользователя
ПОПЫТКА:
- Я попытался обернуть приложение Flask вокруг Bokeh, используя этот пример После многих итераций я не могу получить весь трафик до боке после аутентификации.Я пробовал flam redirect (), и моя последняя итерация включает использование запросов get () из примера в ссылке.
.
...
from requests import get
...
@app.route('/')
def bkapp_page():
script = server_document('https://myapp.azurewebsites.net/bkapp')
return render_template("embed.html", script=script, template="Flask")
@app.route('/bkapp', defaults={'path': ''})
@app.route('/bkapp/<path:path>")
def bkapp(path):
return get(f'http://localhost:5006/bkapp/{path}').content
...
ПРОБЛЕМА: - Несмотря наво многих итерациях я не могу получить шаблон bokeh рендеринга (который указывает на javascript, который обслуживает сервер) для указания пути, который успешно отображает страницу.Лучшее, что я сделал, - это чтобы конечная точка / bkapp не выдала мне ошибку 404.- Python Bokeh работает на порте 5006, а колба работает на 8000. Мне нужно перенаправить весь трафик, предназначенный для боке (после аутентификации), на боке через колбу.(Службы приложений Azure, по-видимому, разрешают только один открытый порт, если вы не настраиваете контейнер, которого я хотел бы избежать.)
АЛЬТЕРНАТИВЫ?:
- Сидите nginx перед оружейными использовать «обратный прокси» для отправки всего трафика на боке.(Могу ли я сделать это безопасно?) Но мне придется создать собственный контейнер.Я бы предпочел сделать это только с помощью Gunicorn + колба + боке, если это возможно.
- Не стесняйтесь предлагать что-нибудь еще.Я хотел бы использовать только Gunicorn + колбу + боке, но если мне нужен другой метод, я приведу к этому.Спасибо!