Python Flask webapp简单的代理配置,可通过Apache启用SSL/HTTPS

Python Flask webapp简单的代理配置,可通过Apache启用SSL/HTTPS,python,apache,web-applications,proxy,flask,Python,Apache,Web Applications,Proxy,Flask,我有一个基于Python的webapp,Flask。(配置为在http://host:port上工作) 我需要让它与https一起工作。我得到了一个Apache代理,它以这种方式重定向所有请求: (Apache)https://host/myApp-->http://host:port(基于我的烧瓶的应用程序)。其中主机:端口是我的应用程序正常运行的标准配置 我能够访问服务和索引页面。但是,访问所有静态内容时存在问题,这是为方法(如ico、图像等)请求的viurl_ 你能告诉我一些资源/信息吗?

我有一个基于Python的webapp,Flask。(配置为在http://host:port上工作)

我需要让它与https一起工作。我得到了一个Apache代理,它以这种方式重定向所有请求:

(Apache)https://host/myApp-->http://host:port(基于我的烧瓶的应用程序)。其中主机:端口是我的应用程序正常运行的标准配置

我能够访问服务和索引页面。但是,访问所有静态内容时存在问题,这是为方法(如ico、图像等)请求的viurl_


你能告诉我一些资源/信息吗?提前感谢。

我们在httpd.conf中添加了一行处理/static/而不是将其代理给gunicorn:

<VirtualHost oursite.com>

  # Tells apache where /static/ should go
  Alias /static/ /full/path/to/flask/app/static/

  # Proxy everything to gunicorn EXCEPT /static and favicon.ico
  ProxyPass /favicon.ico !
  ProxyPass /static !
  ProxyPass / http://gunicorn.oursite.com:4242/
  ProxyPassReverse / http://gunicorn.oursite.com:4242/

</VirtualHost>

#告诉apache/static/应该去哪里
别名/static//full/path/to/flask/app/static/
#将所有内容代理给gunicorn,但/static和favicon.ico除外
ProxyPass/favicon.ico!
代理传递/静态!
ProxyPass/http://gunicorn.oursite.com:4242/
ProxyPassReverse/http://gunicorn.oursite.com:4242/
这是因为gunicorn和apache在同一个机器上运行,这可能适用于您,也可能不适用于您。作为站点部署的一部分,您可能必须将静态文件复制到apache主机


也许有更好的方法,但它对我们有效。

您看到了什么样的问题?404错误?如果手动键入静态资源的正确url添加https,删除https,会发生什么情况?究竟是哪个应用程序在为静态文件提供服务,Apache还是您的web应用程序(两者都可以,但理想情况下是Apache)。