这个问题可能听起来很奇怪或措辞不当。我有一个nginx Web服务器X
,它必须从其他服务器Z
请求一些数据。我可以控制代理P
,以便X
通过Z
访问P
。
X --> P --> Z
问题:是否可以在Q
和P
之间设置另一个代理Z
,并提供:
X --> P --> Q --> Z
所选的代理Q
取决于Web服务器id
知道的参数(比如X
)?也许参数id
可以从标头中的X
传递到P
,如果可能,P
可以使用id
来查询MySQL数据库检索正确的代理详细信息Q
并将其用作此特定连接的代理?如果这是可能的和理想的,应该如何设置?
同样在这种情况下,P
和Q
被视为转发代理还是反向代理?
答案 0 :(得分:1)
是的,你可以这样做。许多网站一直这样做。看看webservices如何工作BTW。
如果P / Q是反向代理而不是代理通常会更好,因为反向代理不会修改请求并确保在X和Z之间可以包含任意数量的此类组件(包括无)。所以当你的X上的应用程序与Z一起使用,当它是反向代理时,它将在中间自动使用P.在开发应用程序时,这是一个非常重要的考虑因素!
现在,根据用于P的产品,您将拥有更多或更少的功能。例如,haproxy将能够在标题,请求args等中匹配您的id ...但它无法从数据库中查找它。我很相信你会发现一些能够执行这种查找的产品(无论这样做是否有效都是另一个问题)。
希望这有帮助!