520 errors due to apparent blank response from NGINX

I have added a new subdomain for testing an upcoming new release version of a web app in our production environment. This subdomain directs requests to an NGINX server in the production environment, which is also separate from our live NGINX server. The NGINX server works just fine on our internal VPN, which bypasses Cloudflare. When I try to test it from outside the VPN, NGINX seems to have these bizarre “blank” responses logged in the access.log file, containing only a user agent string:

<ip removed> - - [19/Mar/2024:12:06:05 -0500] "-" 000 0 B time: 0.000"-" "Mozilla/5.0 (Android 14; Mobile; rv:123.0) Gecko/123.0 Firefox/123.0" upstream: "-" "-" time: -

The formatting for this log message as defined in nginx.conf:

log_format upstream_details '$remote_addr - $remote_user [$time_local] '
                           '"$request" $status $body_bytes_sent B time: $request_time'
                           '"$http_referer" "$http_user_agent" '
                           'upstream: "$upstream_addr" "$upstream_status" time: $upstream_response_time';

I’m having a lot of trouble finding any relevant information about blank responses returned from NGINX. I can only assume these blank responses are causing the 520 error on Cloudflare, but I don’t know what causes the blank response itself. Nothing is logged in error.log. I do not see these blank responses in our QA environment, nor for the other NGINX server hosting our live applications.

Any tips on this would be appreciated.