The proxy-mirror plugin, which provides the ability to mirror client requests.
Note: The response returned by the mirror request is ignored.
Name | Type | Requirement | Default | Valid | Description |
---|---|---|---|---|---|
host | string | optional | Specify a mirror service address, e.g. http://127.0.0.1:9797 (address needs to contain schema: http or https, not URI part) |
1: enable the proxy-mirror plugin for a specific route :
curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "plugins": { "proxy-mirror": { "host": "http://127.0.0.1:9797" } }, "upstream": { "nodes": { "127.0.0.1:1999": 1 }, "type": "roundrobin" }, "uri": "/hello" }'
Test plugin:
$ curl http://127.0.0.1:9080/hello -i HTTP/1.1 200 OK Content-Type: application/octet-stream Content-Length: 12 Connection: keep-alive Server: APISIX web server Date: Wed, 18 Mar 2020 13:01:11 GMT Last-Modified: Thu, 20 Feb 2020 14:21:41 GMT hello world
Since the specified mirror address is 127.0.0.1:9797, so to verify whether this plugin is in effect, we need to confirm on the service with port 9797. For example, we can start a simple server: python -m SimpleHTTPServer 9797
Remove the corresponding JSON in the plugin configuration to disable the plugin immediately without restarting the service:
curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "uri": "/hello", "plugins": {}, "upstream": { "type": "roundrobin", "nodes": { "127.0.0.1:1999": 1 } } }'
The plugin has been disabled now.