基本HTTP代理¶
- class werkzeug.middleware.http_proxy.ProxyMiddleware(app, targets, chunk_size=16384, timeout=10)¶
代理请求在指向外部服务器的路径下,将其他请求路由到应用程序。
此中间件只能代理HTTP请求,因为HTTP是WSGI服务器处理的唯一协议。其他协议(如WebSocket请求)不能在该层代理。这应该只用于开发,在生产中应该使用真正的代理服务器。
中间件采用将路径前缀映射到描述要代理到的主机的DICT的DICT::
app = ProxyMiddleware(app, { "/static/": { "target": "http://127.0.0.1:5001/", } })
每个主机都有以下选项:
target
:要发送到的目标URL。这是必需的。
remove_prefix
:是否在将前缀发送到目标之前从URL中删除前缀。默认值是
False
.host
:"<auto>"
(默认值):主机头将自动重写为目标的URL。
None
:主机头未从客户机请求中修改。
- 任何其他值:
主机头将被该值覆盖。
headers
:要与请求一起发送到目标的头的字典。默认值是
{{}}
.ssl_context
:A
ssl.SSLContext
定义如果目标是https,如何验证请求。默认值是None
.
在上面的示例中,下面的所有内容
"/static/"
代理到端口5001上的服务器。主机头被重写到目标,并且"/static/"
前缀将从URL中删除。- 参数:
Changelog
在 0.14 版本加入.