反向代理将会话cookie转换为路径前缀

时间:2020-06-24 00:53:44

标签: apache nginx reverse-proxy

我正在解决一个问题,其中一些用户需要创建一个Web应用程序的多个会话。浏览器一次只能保存一个会话Cookie(没有笨拙的浏览器黑客攻击,这些黑客说用户不够聪明,无法应对),我想通过创建反向代理来解决此问题,其中URL的第一部分实际上是与后端应用程序联系时使用的会话Cookie。

以下是这个想法的说明:

Client Request:
GET https://myproxy/

Proxy Request:
GET https://example.com/

Application response:
302 https://example.com/welcome
Set-Cookie: session=ABCDEFGHIJKLMNOP

Proxy Response
302 https://myproxy/ABCDEFGHIJKLMNOP/welcome

Client Request
GET https://myproxy/ABCDEFGHIJKLMNOP/welcome

Proxy Request
GET https://example.com/welcome
Cookie: session=ABCDEFGHIJKLMNOP

希望能证明这个想法。我知道如何使用带ProxyPass,ProxyPassReverse和mod_proxy_html的Apache为单个静态前缀完成此操作,但是使用动态前缀从cookie中提取出来似乎不太可能。

我可以将其编写为功能完善的应用程序,但是我想知道是否有任何Web服务器(apache,nginx等)具有一些内置的方式来配置此行为?也许使用mod_perl?

1 个答案:

答案 0 :(得分:1)

我认为nginx可以实现,这是一个主意:

session

当然,这只是一个主意,应该对其进行测试,并且可能还会有其他警告(或者根本无法解决)。此配置不会清除从上游返回的path cookie,但是会重写它的session属性,因此几个具有不同路径的{{1}} cookie不会相互干扰。

相关问题