your mail

Maxim Dounin mdounin at mdounin.ru
Tue Sep 24 11:31:51 UTC 2019


Hello!

On Tue, Sep 24, 2019 at 02:18:20PM +1000, wirelessduck at gmail.com wrote:

> Hi,
> 
> I would like to know whether nginx supports mirroring of a gRPC proxy?
>  I've got a backend server with two endpoints running and setup nginx
> with the following config:
> 
> server {
>     listen 50051 http2 ssl;
> 
>     ssl_certificate      /etc/ssl/certs/ssl-cert-snakeoil.pem;
>     ssl_certificate_key  /etc/ssl/private/ssl-cert-snakeoil.key;
>     ssl_session_cache    shared:SSL:10m;
>     ssl_session_timeout  5m;
>     ssl_ciphers          HIGH:!aNULL:!MD5;
>     ssl_protocols        TLSv1.2 TLSv1.3;
> 
>     location / {
>         mirror /mirror;
>         mirror_request_body off;
>         grpc_pass grpcs://grpc-server.example.com:50051;
>     }
> 
>     location /mirror {
>         internal;
>         grpc_pass grpcs://grpc-server.example.com:50052;
>     }
> }
> 
> Sending a request to the nginx proxy only results in the request going
> through to the endpoint on 50051, and nothing appears on the 50052
> endpoint.  If I remove "mirror_request_body" config, then the request
> results in a timeout and nothing appears on either endpoint.
> 
> Is this supported, or does nginx not yet support mirroring of gRPC?

With "mirror_request_body off;" you are unlikely to get a 
meaningful result with gRPC, as gRPC requests are in the request 
body.

With "mirror_request_body on;" things are expected to work, but 
might not - if the gRPC service expects streaming from the client.

-- 
Maxim Dounin
http://mdounin.ru/


More information about the nginx mailing list