azure - 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 的身份验证不成功。
解决方案
似乎 usingProxyFix
是解决此问题的方法。使用此中间件后,我能够将绝对 url 重定向到 https。
app.wsgi_app = ProxyFix(app.wsgi_app)
推荐阅读
- node.js - 快递restful mongodb api 不发帖
- python - 函数 open() 在 Visual Studio Code 中不起作用
- android - 具有小型实体的 Cloud Firestore 模型组织
- javascript - Nesk/Rialto(Puppeteer)中的意外标识符
- javascript - 如何将 Recaptcha V2 挑战弹出窗口定位在视口中心?
- amazon-web-services - AWS - 全球加速器不与网络负载均衡器一起使用
- visual-c++ - 有人可以解释 Microsoft Visual Studio 中的颜色吗?
- react-native - react-navigation-stack 出错
- powershell - 有没有办法在 ripgrep for MS Windows(Powershell 或 CMD)中转义引号?
- vba - 设置 rst = CurrentDb.OpenRecordset(strSQL) 返回“无效的过程调用”