我正在开发一个aws
云上的聊天后端应用程序。为了为聊天后端制作可扩展的体系结构,我必须确保打开连接的人是真正的人。如何防止我的应用程序通过代理发送数据?
更准确的说聊天ofcourse必须保持tcp
连接与服务器开放所有的时间和我有以下问题:
1 - 后端有一个负载平衡器elastic load balancer
。
2 - tcp
客户端应用程序和后端服务器之间的连接必须保持打开状态并保持活动状态。这意味着应用程序必须保持与服务器的连接而不是负载平衡器的连接。
3 - elb
负载均衡器必须通过会话表sticky session
将连接和负载发送到与之前连接的应用相同的服务器。 不幸的是,负载平衡器只支持l4
和l7
层,我想我需要使用l3
层。
这里的主要问题是大多数人在代理服务器后面操作,所以我不能保持与他们的连接,因为tcp
连接将与代理而不是他们的应用程序。
我不知道如何解决这个问题,但我现在知道的唯一解决方案是: 我必须防止用户在任何代理服务器后面运行,以确保tcp连接与他们不是代理直接相连我要这样做吗?
如果有办法让它们在代理之后运行,并且可以在后端解决问题,请告诉我。
好吧然后我可以做一个聊天应用程序,必须打开tcp连接ith服务器? –
代理服务器将进行连接,而不是真正的应用程序 –
该应用程序将使连接仍然存在。这只是通过代理服务器路由完成的。 – BryceH