【问题标题】:Nginx proxy depending on userNginx 代理取决于用户
【发布时间】:2017-10-29 18:59:13
【问题描述】:

我需要根据用户使用不同的后端。我有几台服务器使用 VPN 隧道连接到主服务器。用户应登录主服务器,主服务器应根据用户名使用不同的后端。我确定它可能是由nginx完成的。

详情如下:
—服务器流程—(已实现)
后端服务器通过 OpenVPN 连接到主服务器
主服务器上的 OpenVPN 配置为在连接事件时执行脚本
此脚本仅向后端请求唯一 ID,并将 ID 和 IP 地址放入数据库。
数据库还包含用户和后端 ID 关系表
——用户流——(需要实现,这里只是一个想法)
用户通过 https 访问主服务器
输入登录名和密码
主服务器上的脚本在与该用户和 IP 地址相关的数据库服务器 ID 中查找
脚本使用会话 id 设置类似 cookie
在用户 nginx 的下一个请求(使用会话 ID 和有关后端 IP 的信息)就像后端和用户之间的代理

有什么想法可以实现吗?

谢谢

【问题讨论】:

    标签: nginx proxy


    【解决方案1】:

    最好的方法是通过粘性会话,它在 Nginx 免费版中不可用,请参阅this link

    您也可以为每种类型的用户使用特定的路由,但这会不安全。

    我能想到的最后一个选项是为 Nginx 使用 Lua Resty 模块,请参阅https://github.com/openresty/lua-resty-core/blob/master/lib/ngx/balancer.md

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-24
      • 2021-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多