Я предпочитаю не устанавливать дополнительные программные пакеты для относительно простых вещей, поэтому я делаю это сам. Для GAE flex есть несколько вещей, с которыми нужно справиться. Я добавил комментарии ниже, чтобы помочь объяснить.
@app.before_request
def redirect_http():
# http -> https
if (
# Flask tells us when request is http. This might not be needed for you but
# I need it because I use this code for GAE standard as well.
not request.is_secure and
# Load balancers forward https requests as http but set headers to let you
# know that original request was https
not request.headers.get('X-Forwarded-Proto') == 'https' and
# GAE cron urls must be http
not request.path.startswith("/cron")
):
return redirect("https" + request.url[4:], code=301)
# naked domain -> www
if request.url.startswith("https://example.com"):
return redirect('https://www.' + request.url[8:], code=301)
Пакеты Flask, рекомендованные @tzovourn, также делают и другие важные вещи, так что вы можете подумать об этом (я лично все эти вещи сам, так как это не сложно сделать).