因此,我们有一个RPC终结点,可以查询在nginx后面设置的应用程序(作为反向代理)
Internet sending POST JSON RPC -> Nginx at :443 ... proxies to -> Web Application at :8080
应用程序接受来自互联网的jsonrpc POST请求,例如
{"jsonrpc": "2.0", "method": "subtract", "params": {"subtrahend": 23, "minuend": 42}, "id": 3}
Nginx用于终止SSL,进行基本的负载平衡并添加所需的标头。
绝大多数从Internet到达RPC端点的请求都是相同的,并且响应变化相对很少,因此我们希望使用一种缓存来降低应用程序的负载。
是否可以将nginx配置为读取jsonrpc POST请求的主体,提取"method"
的值并基于该值将请求路由到应用程序或缓存服务?
Internet sending POST JSON RPC -> Nginx at :443 reads "method" from POST body ...
-> if method == "getCounter" ... proxies to -> Caching service
-> if method != "getCounter" ... proxies to -> Application at :8080