Skip to content

Missing request body despite echo_read_request_body use #117

@jakubgs

Description

@jakubgs

I'm using the echo modules to send the same GitHub webhook request to two backends that needs to receive it. I spit them using echo_subrequest_async, but when I do there is no request body. I have tried using both -b $request_body and -f $request_body_file with the same effect:

location = /webhook {
  echo_read_request_body;
  echo_subrequest_async POST /webhook_backend_0 -f $request_body_file;
  echo_subrequest_async POST /webhook_backend_1 -f $request_body_file;
}
location = /webhook_backend_0 {
  proxy_pass http://10.10.0.10:8080/webhook;
}
location = /webhook_backend_1 {
  proxy_pass http://10.10.0.20:8080/webhook;
}

When using -f $request_body_file I managed to catch this in Nginx errors:

open() "/var/lib/nginx/body/0000005084" failed (2: No such file or directory), client: 1.2.3.4, server: example.org, request: "POST /webhook HTTP/1.1", host: "example.org"

Which indicates that the request body is indeed missing, but as far as I know it is not, since GitHub does send it.

This suggests a bug in the echo module.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions