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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions