Onde deve estar um procurador?
Depende da finalidade do procurador. Vou fazer a suposição óbvia de que estamos falando estritamente de HTTP aqui.Então, proxies podem servir a alguns propósitos. Eles podem ser manipuladores/tradutores de protocolo, sentados no firewall da rede ou atrás dele, fazendo coisas como decodificar HTTPS/TLS e encaminhar pedidos em vanilla HTTP. Eles também podem manipular versões de protocolo não manipuladas pelo(s) servidor(es) por trás deles.
Um outro propósito para tais 'proxies reversíveis' é manipular autenticação e autorização. Novamente, no firewall ou próximo a ele normalmente. Os proxies nessa localização também podem agir como aceleradores, armazenando e servindo conteúdo estático, ou direcionando tais solicitações para servidores específicos otimizados para lidar com elas. Em alguns casos eles podem até mesmo armazenar em cache algum conteúdo dinâmico.
Os outros dois locais que você normalmente encontraria proxies estariam no lado do cliente, que é o estilo 'clássico' de proxy. Estes estão localizados em um ponto de saída de rede e recebem todas as solicitações HTTP(S), normalmente devido à configuração do navegador. Seu propósito é principalmente o cache, mas eles também podem realizar verificações de segurança e requisições de lista branca ou preta.
A última localização é geralmente dentro de alguma rede de ISP regional ou local, onde você encontra proxies de 'rede de distribuição de conteúdo'. Estes são uma classe especial, coisas como os nós Edge Akamai que podem servir o conteúdo a partir de uma cache. A sua localização é optimizada para os colocar o mais perto possível do cliente (cliente), mas centralizada o suficiente para manter os custos razoáveis. As aplicações Web que utilizam este tipo de proxies precisam de utilizar técnicas específicas para assegurar a coerência da cache e a optimização da utilização da cache. Os provedores de redes de conteúdo trabalharão com os clientes para garantir que eles entendam esses problemas.
Agora, com provedores de nuvem como AWS, os proxies são na maioria das vezes um tipo de SaaS/IaaaS. Basta configurar um 'balanceador de carga' ou um 'autoscaler' ou algum tipo de 'firewall de aplicações', qualquer que seja a terminologia. No nível HTTP, todos eles são tecnicamente proxies. Quando eles operam no nível TCP a terminologia é um pouco menos clara, mas a idéia é a mesma.