我的目标是使用通过HTTPS提供服务的Fabmanager部署一个基于Flask的简单Web应用程序,并启用OAuth2身份验证。 虽然我可以创建一个简单的框架应用程序并相当迅速地进行部署,但是该示例并不适合于轻松扩展以支持HTTPS。因此,我想到了将Apache2反向代理放在FAB应用程序的前面,Apache为HTTPS提供服务,并为FAB应用程序通过HTTP代理。 但是,问题是FAB应用程序生成的redirect-uri将协议设置为通过HTTP而不是HTTPS。 以下是应用程序生成的Oauth2重定向URL的详细信息-
作为一种替代选择,我尝试研究FAB控制台脚本和相关的“ werkzeug”服务脚本,以便在应用程序上强制实施HTTPS。我是通过在虚拟环境中安装PyOpenSSL库并使用SSL上下文来完成的。但是,启动应用程序时出现错误-
- 跟踪(最近一次通话最后一次):_ bootstrap_inner中的文件“ /usr/lib/python3.6/threading.py”,行916 self.run()运行中的文件“ /usr/lib/python3.6/threading.py”,行864 self._target(* self._args,** self._kwargs)文件“ /home/ubuntu/mplogin/lib/python3.6/site-packages/werkzeug/serving.py”, 内线774 fd = fd)文件“ /home/ubuntu/mplogin/lib/python3.6/site-packages/werkzeug/serving.py”, 第660行,在make_server中 passthrough_errors,ssl_context,fd = fd)文件“ /home/ubuntu/mplogin/lib/python3.6/site-packages/werkzeug/serving.py”, 第601行,在 init 中 self.socket = ssl_context.wrap_socket(sock,server_side = True)AttributeError:“上下文”对象没有属性“ wrap_socket”
非常感谢您的回复!