In my application, both the server and client are hosted by myself, each client has a configuration which can configure the server it should connect, the communication is based on HTTP. Now, I get a requirement that the connect server of client should be able changed dynamically, but to change the server url configuration will require restart client which will take several minutes. So I want to add a proxy server between the clients and servers which can forward request from different client to different server by some rules.
I can not add a reverse proxy server as I can not distinguish the request from different client, because my proxy server will have only one domain name and I can not add parameter to the request URL of client.
But I can change the client to force it use proxy.
So my plan is set proxy for the clients, for each client, specify a unreal server url, the proxy server get the server url in the request and then forward request to a real server by rules.
Is there any server can do such things? and of cause, it will be better if can change rules without restart proxy server