I have a php script that handles files downloads, it sends content-length header properly and the browsers receive it. But in the Apache access log they show up as "-". In the past this used to work, the bytes showed up on the log, but this is no longer the case.
PHP Script Requests Web Browser -> Nginx -> Apache -> PHP-FPM https://serverpilot.io/docs/how-serverpilot-configures-your-lamp-stack/
Log entry, where "-" is %b (the file size in bytes)
218.200.***.*** - - [29/Dec/2020:00:49:02 +0100] "GET /dll.php?file=File.zip&key=109237902 HTTP/1.0" 200 -
Worth noting that if the file is downloaded directly, then the size is logged.
EDIT: Log format:
LogFormat "%a %l %u %t \"%r\" %>s %b" common