Hi @ChrisRiesbeck,
To start with, is this an LTI 1.1 or LTI 1.3 launch that is having the issue? In addition, do you know what browser and operating system/device the problematic launch is occurring from? When you sai it's a null request, does your srver truly receive nothing, or is there a specific parameter you're lloking for that's not included in the launch?
My first guess as to local issues on the student's device would be some kind of ad/content blocking extension installed int he browser. The second could be the browser itself (maybe a privacy-oriented browser blocking too much info itself). Without knowing the exact problem at this point, perhaos it could be a DNS problem, or an SSL certificate issue. Just kind of throwing out some potential causes...
If this is an LTI 1.3 launch from a chromium-based browser, there is an LTI debugger extension available which you could have the student install and perhaps check via a screen share session. The extension will show you what the browser should be sending, which you could match to what your server is receiving to potentially narrow down the issue...
I hope some of this might help a bit! Please do post back here when and if you're able.
-Chris