我正在開發一個aws
雲上的聊天后端應用程序。爲了爲聊天后端製作可擴展的體系結構,我必須確保打開連接的人是真正的人。如何防止我的應用程序通過代理髮送數據?
更準確的說聊天ofcourse必須保持tcp
連接與服務器開放所有的時間和我有以下問題:
1 - 後端有一個負載平衡器elastic load balancer
。
2 - tcp
客戶端應用程序和後端服務器之間的連接必須保持打開狀態並保持活動狀態。這意味着應用程序必須保持與服務器的連接而不是負載平衡器的連接。
3 - elb
負載均衡器必須通過會話表sticky session
將連接和負載發送到與之前連接的應用相同的服務器。 不幸的是,負載平衡器只支持l4
和l7
層,我想我需要使用l3
層。
這裏的主要問題是大多數人在代理服務器後面操作,所以我不能保持與他們的連接,因爲tcp
連接將與代理而不是他們的應用程序。
我不知道如何解決這個問題,但我現在知道的唯一解決方案是: 我必須防止用戶在任何代理服務器後面運行,以確保tcp連接與他們不是代理直接相連我要這樣做嗎?
如果有辦法讓它們在代理之後運行,並且可以在後端解決問題,請告訴我。
好吧然後我可以做一個聊天應用程序,必須打開tcp連接ith服務器? –
代理服務器將進行連接,而不是真正的應用程序 –
該應用程序將使連接仍然存在。這只是通過代理服務器路由完成的。 – BryceH