首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >每个浏览器用户会话的动态路由

每个浏览器用户会话的动态路由
EN

Stack Overflow用户
提问于 2017-08-25 16:41:39
回答 1查看 1.9K关注 0票数 1

nginx背后的多个web应用程序。我在nginx后面运行了不同的web应用程序。

  1. 主要网站应用->这是网站,提供重定向链接到不同的应用程序.
  2. 不同应用-> App-1/App-2/App-3
  3. Nginx ->哪条路线可以纠正申请。

这是我下面的图表,用于我的设置来处理多个应用程序。

如何访问App-1/App-2/App-3应用程序

浏览器发送访问主网站和主网站的请求,为他们提供304重定向的cookies值( Device_type=xx和IP=45)以延迟。

* _Type=App-1或App-2 ->连接的设备。 * IP = 45,系统IP地址的最后一个八进制。

因此,只要看到设备类型& IP最后一个八进制值,就可以重定向到正确的应用程序。

浏览器向nginx发送请求,只需看到设备类型和IP最后一个八位数值,就可以重定向到正确的应用程序。所有进一步的请求都将根据cookie值和nginx的规则进行更正。

如果只有应用程序( App-1/ APP -2/App-3)可以从每个应用程序的一个浏览器访问,这是非常好的。

问题:-没有两个应用程序可以从同一个浏览器访问。也就是说,如果两个应用程序运行在同一个浏览器上,即使不同的选项卡,它们也会共享cookie。

现在,如果他们共享cookie,那么nginx大多数时候都会重新定向到错误的应用程序。

我知道这不是最好的办法,但它是像以前那样做的。

实现:-我希望在nginx上有动态路由,这取决于每个用户浏览器的session.So,每次用户请求任何东西时,我都会将其路由正确的应用程序。

我在nginx中进行了大量的调查,但是nginx中没有任何东西,因为nginx拥有浏览器会话,因此所有后续请求都会转到同一个APP Server。也在查看ceryx-dynamic-nginx。

  • 如果你认为琦琦不是个好主意,那么我愿意接受改变它的想法。
EN

回答 1

Stack Overflow用户

发布于 2017-08-25 17:18:56

要将基于cookie的请求定向到server服务器,您所需要做的就是按以下方式创建一个映射:

代码语言:javascript
运行
复制
map $cookie_IP $app_upstream {
   default main_app;
   45      app1;
   46      app2;
   66      app3;
}

您需要为每个用户创建应用程序流

代码语言:javascript
运行
复制
upstream main_app {
   server 192.168.12.10;
}
upstream app1 {
    server 10.122.123.45;
}
upstream app2 {
    server 10.122.123.46;
}
upstream app3 {
    server 10.122.123.66;
}

在你的位置下

代码语言:javascript
运行
复制
location / {
    proxy_pass http://$app_upstream$uri;
}

如果您已经为每个上游定制了url,那么您需要做的就是为每个上游创建服务器,并使其基于主机名值进行定向。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45886007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档