nginx proxy_pass动态目标

时间:2012-06-20 16:51:08

标签: nginx

是否可以配置nginx来查询服务(而非DNS),以根据当前请求的URI确定proxy_pass目标?

例如:

  1. 客户请求http://somesite.tld/somepage,需要代理。
  2. nginx连接到解析服务并发送用于确定代理目的地的请求URI。
  3. 解析服务响应,提供目的地的主机名。
  4. 客户的请求被重定向到指定的目的地。
  5. 如果不支持,那么这样做的好方法是什么?我可以将proxy_pass转换为解析器+代理,但更愿意让nginx直接处理代理到目的地。请注意,需要查询解析程序,因为每个URI的目标可能会更改。

    谢谢: - )

2 个答案:

答案 0 :(得分:1)

我没有找到实现你所要求的方法。

但是,如果您只是想将请求args映射到主机名(并且它们不会发生很大变化),那么您可以使用Nginx的map module

您也可以使用mod_lua执行某些操作,但这可能会非常严重。

答案 1 :(得分:0)

此框完全支持此功能。在* proxy_pass *指令中使用域名。例如:

proxy_pass http://yourproxy:port;

之后,您可以根据需要配置DNS并更改 yourproxy 地址。