У меня есть приложение фляги, работающее на экземпляре EC2, оно находится за AWS ELB, который завершает SSL. Затем ELB перенаправляет соединение к экземпляру через порт 80.
Я пытаюсь заставить колбу перенаправить все http-запросы на https. Я пробовал SSLify и следующее, проблема в том, что когда я использую следующее, я получаю сообщение об ошибке многих перенаправлений. Я полагаю, что это потому, что ELB пересылает экземпляр на 80, а затем перенаправление отправляет его обратно в ELB, создавая бесконечный цикл. SSLify, похоже, не работает, так как экземпляр не является точкой завершения SSL.
Похоже, мне нужно реализовать request.is_secure (), чтобы заставить это работать и уважать X-Forwarded-Protocol, но я не уверен как.
@app.before_request
def before_request():
if request.url.startswith('http://'):
url = request.url.replace('http://', 'https://', 1)
code = 301
return redirect(url, code=code)