Причина, по которой все решения на стороне сервера, заключается в том, что заголовки, о которых вы говорите, только передаются с прокси на сервер и никогда не возвращаются клиенту снова в ответе.
Другими словами, если вы планируете проверять заголовки HTTP в запросе от прокси-сервера к серверу, вам необходимо либо проверить их на стороне сервера (как это делают найденные вами решения), либо активно передать их обратно.в ответ клиенту проверить.
В любом случае, вы не можете просто сделать запрос на случайную страницу и проверить заголовки, которые получает сервер, сервер должен быть каким-то образом задействован.