This repository contains a docker-compose file to deploy Apache APISIX with dashboard.
Create a folder named etcd_data
in configs folder, and then run the following command:
docker-compose up -d
curl -i "http://127.0.0.1:9180/apisix/admin/routes" -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"id": "getting-started-ip",
"uri": "/ip",
"upstream": {
"type": "roundrobin",
"nodes": {
"httpbin.org:80": 1
}
}
}'
curl "http://127.0.0.1:9080/ip"
You should get the following response:
{
"origin": "172.18.0.1, 103.155.219.47"
}
curl -i "http://127.0.0.1:9180/apisix/admin/routes" -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"id": "getting-started-headers",
"uri": "/headers",
"upstream" : {
"type": "roundrobin",
"nodes": {
"httpbin.org:443": 1,
"mock.api7.ai:443": 1
},
"pass_host": "node",
"scheme": "https"
}
}'
hc=$(seq 100 | xargs -I {} curl "http://127.0.0.1:9080/headers" -sL | grep "httpbin" | wc -l); echo httpbin.org: $hc, mock.api7.ai: $((100 - $hc))
The result shows that the traffic is distributed to both upstreams:
httpbin.org: 49, mock.api7.ai: 51
For more information, refer to Getting started with Apache APISIX Documentation