Envoy要求上游服务提供HTTP/1.1或者HTTP/2。例如当使用Nginx在Envoy之后提供服务时,就需要在Nginx配置文件中设置proxy_http_version为1.1,否则就会使用默认值1.0。
直接调用HTTP 1.0的服务,会出现如下的错误:
< HTTP/1.1 426 Upgrade Required
此时就需要在Nginx的配置文件中增加如下变更,以便支持HTTP 1.1:
upstream http_backend {
server 127.0.0.1:8080;
keepalive 16;
}
server {
...
location /http/ {
proxy_pass http://http_backend;
proxy_http_version 1.1;
proxy_set_header Connection "";
...
}
}