fabio
fabio copied to clipboard
Forwarding of compressed gRPC requests
I'm trying to forward gRPC requests that have been compressed with gzip, but it looks like Fabio is not forwarding the request. I've seen under the following link, that Fabio has the functionality to forward compressed HTTP requests, so I'm wondering if it's possible with gRPC.
https://fabiolb.net/feature/http-compression/
below is my nomad file. I have also set theAccept-Encoding: gzip
header on the client
The error we are receiving on our test client when trying to make a request to the server is :
grpc: Decompressor is not installed for grpc-encoding "gzip"
job "fabio" {
datacenters = ["dc1"]
type = "system"
group "fabio" {
network {
port "lb" {
static = 9999
}
port "ui" {
static = 9998
}
port "grpc" {
static = 8888
}
}
task "fabio" {
driver = "docker"
config {
image = "fabiolb/fabio"
network_mode = "host"
ports = ["lb", "ui", "grpc"]
}
env {
proxy_addr = ":9999;proto=http,:8888;proto=grpc"
proxy_gzip_contenttype = "^.*$"
}
resources {
cpu = 200
memory = 128
}
}
}
}
It looks like that's not being registered when the grpc server is being set up. It's pretty easy to register the gzip as an available compression option, but I don't have a good way to test if it's working. If I made a one-off build available on docker hub would you be able to test that way?