基本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 版本加入.