Skip to content

Latest commit

 

History

History
113 lines (94 loc) · 4.27 KB

gzip.md

File metadata and controls

113 lines (94 loc) · 4.27 KB
title keywords description
gzip
Apache APISIX
API Gateway
Plugin
gzip
This document contains information about the Apache APISIX gzip Plugin.

Description

The gzip Plugin dynamically sets the behavior of gzip in Nginx.

:::info IMPORTANT

This Plugin requires APISIX to run on APISIX-Base.

:::

Attributes

Name Type Required Default Valid values Description
types array[string] or "*" False ["text/html"] Dynamically sets the gzip_types directive. Special value "*" matches any MIME type.
min_length integer False 20 >= 1 Dynamically sets the gzip_min_length directive.
comp_level integer False 1 [1, 9] Dynamically sets the gzip_comp_level directive.
http_version number False 1.1 1.1, 1.0 Dynamically sets the gzip_http_version directive.
buffers.number integer False 32 >= 1 Dynamically sets the gzip_buffers directive.
buffers.size integer False 4096 >= 1 Dynamically sets the gzip_buffers directive.
vary boolean False false Dynamically sets the gzip_vary directive.

Enable Plugin

The example below enables the gzip Plugin on the specified Route:

curl -i http://127.0.0.1:9180/apisix/admin/routes/1  -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
    "uri": "/index.html",
    "plugins": {
        "gzip": {
            "buffers": {
                "number": 8
            }
        }
    },
    "upstream": {
        "type": "roundrobin",
        "nodes": {
            "127.0.0.1:1980": 1
        }
    }
}'

Example usage

Once you have configured the Plugin as shown above, you can make a request as shown below:

curl http://127.0.0.1:9080/index.html -i -H "Accept-Encoding: gzip"
HTTP/1.1 404 Not Found
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Date: Wed, 21 Jul 2021 03:52:55 GMT
Server: APISIX/2.7
Content-Encoding: gzip

Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.

Delete Plugin

To remove the gzip Plugin, you can delete the corresponding JSON configuration from the Plugin configuration. APISIX will automatically reload and you do not have to restart for this to take effect.

curl http://127.0.0.1:9180/apisix/admin/routes/1  -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
    "uri": "/index.html",
    "upstream": {
        "type": "roundrobin",
        "nodes": {
            "127.0.0.1:1980": 1
        }
    }
}'