Skip to content

When will envoy return "100-continue" to the client and write it into access log? #14008

@NonStatic2014

Description

@NonStatic2014

In our production environment, we recently noticed there are some access log record showing envoy return RESPONSE_CODE:100 to the client. But from client side, we got confirmed they never send any Expect: 100-continue header. Also I have tried if I added the -H "Expect: 100-continue" in the curl command with -v, I can see the response including a HTTP 100 response code followed by a HTTP 200 response code (as below curl output). And in the access log, this request is recorded as RESPONSE_CODE:200. Then it is confusing what triggered envoy return and record status code 100?

... ...
> POST /v1/foo/bar HTTP/1.1
> Host: foo.bar.net
> User-Agent: curl/7.58.0
> Accept: */*
> Expect: 100-continue
> Authorization: Bearer <tooooo long>
> Content-Type: application/json
> Content-Length: 332
>
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS Unknown, Unknown (23):
< HTTP/1.1 100 Continue
* TLSv1.3 (OUT), TLS Unknown, Unknown (23):
* We are completely uploaded and fine
* TLSv1.3 (IN), TLS Unknown, Unknown (23):
< HTTP/1.1 200 OK
< server: foo-bar-server
< date: Thu, 12 Nov 2020 01:01:54 GMT
< content-type: application/json
... ...

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionQuestions that are neither investigations, bugs, nor enhancements

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions