状況

Web-gRPCを使うため、Docker上でEnvoyコンテナを動かしてバックエンドのgRPCサーバーにプロキシしている。

さらにSSL化もしたかったのでホストにNginxを動かし、インターネットからのアクセスをEnvoyのコンテナに転送することにした。

改善方法

Nginx の Location にproxy_http_version 1.1;を指定する

server {
        server_name example.com;
        location /{
                proxy_pass http://localhost:8080;
                proxy_http_version 1.1;
        }
        listen 443 ssl http2;
        ssl_certificate xxx.pem;
        ssl_certificate_key xxx.pem;
}