A potential quick fix for "The test completed but there were no successful results." in WebPageTest private instances.
When running my first set of tests I noticed big delays (multiple minutes per test) and when the tests finally completed they all reported
The test completed but there were no successful results..
A quick look at the access log showed that the agents were getting jobs, but not submitting the results back to the server. I saw a bunch of
HTTP 301 responses to the workdone POSTs:
POST /work/workdone.php?run=1... HTTP/1.1" 301 178 "-" "python-requests/2.22.0"
301 responses (and no subsequent
200s) made me realise that CertBot had added a default redirect from port 80 to port 443 to my nginx config (found at
/etc/nginx/sites-enabled/default for the WebPageTest AMI).
Simply commenting out this
server block to remove the redirect and bouncing the nginx server immediately resolved the issue. CertBot does ask if it should add the redirect, so simply saying no during configuration would have solved the issue! It would be trivial to allow test agents to communicate on :80 based on the workdone path to get the best of both worlds.
If that is not the cause of your issue, it may be caused by the use of 64-bit windows clients which cannot do traffic shaping using dummynet. Simply adding
locations.ini for the test locations should resolve the issue.