Flask: Как мне настроить параметры статической папки на сервере за обратным прокси-сервером? - PullRequest
0 голосов
/ 13 декабря 2018

Я передаю запрос на https://mydomain/subserverA/foo на внутренний сервер A через обратный прокси-сервер, и приложение колбы запускается на сервере A. URL-адрес переписывается на прокси-сервере, сервер A может видеть URL-адрес запросакак https://foo.

Поэтому, когда я использую колбу по умолчанию и использую функцию url_for ("static", "hoge"), URL становится "/ static / hoge".Я хочу, чтобы URL был "/ subserverA / static / hoge".Эта проблема не может быть решена только с помощью параметров static_url_path и static_folder.

Я решил эту проблему с помощью следующих двух кодов.

Код A

view = Flask(__name__, static_url_path=‘/subdir/static',static_folder='static')
view.add_url_rule('/static/<filename>', 'static')
print(view.url_map)
## Map([<Rule '/subdir/static/<filename>' (GET, HEAD, OPTIONS) -> static>,
## <Rule '/static/<filename>' (GET, HEAD, OPTIONS) -> static>])

этот код работаетЧто ж.Но я не знаю, это хорошо.Это потому, что я не смог найти правило приоритета, когда «статическая» конечная точка имеет несколько URL-маршрутов.(Я нашел правило о нормальной конечной точке.)

Код B

view = Flask(__name__)
static_url = Blueprint('static_url', __name__, url_prefix='/subdir/', static_folder='static')
view.register_blueprint(static_url)

В этом коде используется префикс URL-адреса Blueprint.Но это заставляет меня писать url_for («static_url.static», «foo»).Я хочу писать так же, как и без обратного прокси.

У кого-нибудь есть хорошая идея?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...