首页 > 解决方案 > Flask 应用程序绝对 url 在 azure 应用程序服务中以 http 而不是 https 重定向

问题描述

我有一个部署到 azure 应用服务的烧瓶应用。应用服务具有由 Azure 应用服务管理的 SSL 证书。它还允许在应用服务中仅使用来自 TSL/SSL 设置的 https。

我有几个从一个页面到另一个页面的绝对重定向 url。我已经为这些类型的绝对 url 设置了 _scheme=https 像这样

url_for("authorized", _external=True, _scheme = 'https').

我也设置app.config['PREFERRED_URL_SCHEME'] = 'https'了,这似乎也不起作用。

如何在 azure app services 中强制我的烧瓶应用程序绝对网址为 https?有什么建议么 ?

ps我正在关注本教程https://github.com/AzureAD/microsoft-authentication-library-for-python,它适用于不需要https的本地主机。但是在 appservices 中使用时无法在 https 中创建绝对 url,因此,对 AzureAD 的身份验证不成功。

标签: azureflaskazure-active-directoryazure-web-app-servicemsal

解决方案


似乎 usingProxyFix是解决此问题的方法。使用此中间件后,我能够将绝对 url 重定向到 https。

app.wsgi_app = ProxyFix(app.wsgi_app)

推荐阅读