O que o campo Proxy de um perfil VPN da Apple realmente faz
Preencher um campo de proxy não transforma uma VPN em HTTP. Há duas conexões envolvidas, e o campo alcança apenas uma delas.
Preencher o campo Proxy de uma configuração VPN da Apple dá a impressão de que ele deve redirecionar o túnel por uma porta web. Não faz isso. O campo escolhe um intermediário no nível da aplicação para o tráfego que um app compatível decide enviar para lá. Já a conexão do próprio cliente VPN com o seu gateway é regida pelo protocolo, pelo listener e pelo transporte que você configurou, e são decisões separadas.
Duas conexões, dois donos
Qualquer configuração assim envolve uma conexão do cliente ao gateway e outra da aplicação ao destino. A seção Proxy trata da segunda, embora fique no mesmo perfil que a primeira.
| Connection | What decides its behaviour |
|---|---|
| VPN client to VPN gateway | The supported protocol, the listening port, the transport and the network policy in between |
| Application to a selected proxy | The application's own proxy support, the configured proxy policy, and the route to that next hop |
A referência de ajustes de proxy da Apple lista HTTP, HTTPS, SOCKS e configuração automática de proxy, o que descreve as escolhas de proxy dos apps. Nenhuma dessas entradas diz como um pacote IPsec ou WireGuard chega a um gateway.
Aqui está uma verificação rápida que resolve a questão. Diga a porta e o protocolo que o cliente VPN informa no log. Se essa linha ainda diz UDP 500 ou UDP 51820, o campo de proxy não mudou nada nela.
Quando o campo é a ferramenta certa
Existe um caso real em que um proxy fica à frente do túnel, mas isso é um recurso do cliente e não um campo do perfil. O manual do OpenVPN documenta --http-proxy para conexões TCP transportadas por um proxy HTTP CONNECT. Usá-lo exige a opção correspondente no cliente, um gateway alcançável por esse caminho e um proxy que permita CONNECT para a porta em uso.
Se o seu cliente expõe essa opção e a rede permite CONNECT para a porta, pode funcionar. Se o cliente não a expõe, preencher um proxy do sistema não tem efeito algum sobre o túnel.
Quando não muda nada
Um perfil IKEv2 ou IPsec não vira um túnel HTTP porque o campo de proxy está preenchido. Nem o WireGuard, cujo formato de configuração não tem o conceito de proxy. Mudar a porta do gateway também não muda o protocolo dele. E um endpoint que responde a HTTPS comum não é automaticamente um listener de VPN.
A mesma armadilha pega quem copia perfis da era PPTP de guias antigos de iPad. As opções ainda existem na interface; o serviço por trás delas já não fala esse protocolo.
Decidir qual camada corrigir
Pergunte qual camada falhou antes de mudar qualquer coisa. Se o cliente não consegue estabelecer uma sessão, o problema é o transporte e o campo de proxy é irrelevante. Se o túnel está ativo mas um app não chega ao seu servidor, vale a pena inspecionar o proxy da aplicação. Se o túnel está ativo e todos os apps falham, os suspeitos são o roteamento e o DNS dentro do túnel.
No primeiro caso, pergunte ao operador qual transporte ou rede alternativa aprovada ele suporta. O OpenVPN sobre TCP 443 existe porque algumas redes só permitem isso, e ainda exige que o servidor esteja à escuta.
Não trate uma porta UDP bloqueada como permissão para improvisar. Mantenha intactas as verificações de certificado ou de identidade do gateway em vez de desativá-las para fazer o handshake caber.
Confirme as duas camadas uma de cada vez
Confirme primeiro o túnel: verifique na página de status do cliente uma sessão estabelecida e uma contagem de bytes diferente de zero. Depois leia o ajuste de proxy diretamente, com scutil --proxy para a configuração efetiva ou networksetup -getwebproxy Wi-Fi para o valor guardado. Em seguida, teste um app que respeite o proxy do sistema e outro que o ignore, porque muitos apps nativos o ignoram.
Três resultados, três correções diferentes.
Se as duas camadas relatam sucesso e o app ainda falha, olhe para o túnel dividido, o DNS e os ajustes de rede do próprio app. Essa é uma terceira camada, e também não é o campo de proxy.