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.
I'm using the
echomodules to send the same GitHub webhook request to two backends that needs to receive it. I spit them usingecho_subrequest_async, but when I do there is no request body. I have tried using both-b $request_bodyand-f $request_body_filewith the same effect:When using
-f $request_body_fileI managed to catch this in Nginx errors: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
echomodule.