使用2级代理的Nginx Web服务器

时间:2013-01-03 23:13:23

标签: ubuntu proxy nginx reverse-proxy haproxy

这个问题可能听起来很奇怪或措辞不当。我有一个nginx Web服务器X,它必须从其他服务器Z请求一些数据。我可以控制代理P,以便X通过Z访问P

X --> P --> Z

问题:是否可以在QP之间设置另一个代理Z,并提供:

X --> P --> Q --> Z

所选的代理Q取决于Web服务器id知道的参数(比如X)?也许参数id可以从标头中的X传递到P,如果可能,P可以使用id来查询MySQL数据库检索正确的代理详细信息Q并将其用作此特定连接的代理?如果这是可能的和理想的,应该如何设置?

同样在这种情况下,PQ被视为转发代理还是反向代理?

1 个答案:

答案 0 :(得分:1)

是的,你可以这样做。许多网站一直这样做。看看webservices如何工作BTW。

如果P / Q是反向代理而不是代理通常会更好,因为反向代理不会修改请求并确保在X和Z之间可以包含任意数量的此类组件(包括无)。所以当你的X上的应用程序与Z一起使用,当它是反向代理时,它将在中间自动使用P.在开发应用程序时,这是一个非常重要的考虑因素!

现在,根据用于P的产品,您将拥有更多或更少的功能。例如,haproxy将能够在标题,请求args等中匹配您的id ...但它无法从数据库中查找它。我很相信你会发现一些能够执行这种查找的产品(无论这样做是否有效都是另一个问题)。

希望这有帮助!