Skip to main content
Version: 2.9


The proxy-mirror plugin, which provides the ability to mirror client requests.

Note: The response returned by the mirror request is ignored.


hoststringoptionalSpecify a mirror service address, e.g. (address needs to contain schema: http or https, not URI part)


Enable the plugin#

1: enable the proxy-mirror plugin for a specific route :

curl  -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '{    "plugins": {        "proxy-mirror": {           "host": ""        }    },    "upstream": {        "nodes": {            "": 1        },        "type": "roundrobin"    },    "uri": "/hello"}'

Test plugin:

$ curl -iHTTP/1.1 200 OKContent-Type: application/octet-streamContent-Length: 12Connection: keep-aliveServer: APISIX web serverDate: Wed, 18 Mar 2020 13:01:11 GMTLast-Modified: Thu, 20 Feb 2020 14:21:41 GMT
hello world

Since the specified mirror address is, 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

Disable Plugin#

Remove the corresponding JSON in the plugin configuration to disable the plugin immediately without restarting the service:

curl  -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '{    "uri": "/hello",    "plugins": {},    "upstream": {        "type": "roundrobin",        "nodes": {            "": 1        }    }}'

The plugin has been disabled now.