Por padrão, os aplicativos UWP não podem acessar recursos de rede na mesma máquina. Essa restrição pode ser suspensa por aplicativo usando o CheckNetIsolation.exe
utilitário. Isso é descrito em muitos lugares na web:
https://stackoverflow.com/questions/34589522/cant-see-localhost-from-uwp-app https://docs.microsoft.com/en-us/windows/uwp/debug-test-perf/deploying-and-debugging-uwp-apps#debugging-options
A isenção de loopback pode ser concedida a aplicativos UWP individualmente. No meu caso de uso, gostaria de usar um servidor proxy para todo o sistema em execução no host local (Opções da Internet -> Conexões -> Configurações de rede local (LAN) -> Servidor proxy). Isso significa que preciso conceder isenção de loopback a cada um dos meus aplicativos UWP, caso contrário, eles não conseguirão acessar a Internet.
Existe uma maneira de contornar esse isolamento de rede fazendo algo no lado do servidor, em vez de conceder isenção de loopback a todos os aplicativos UWP?
Por exemplo, (ainda não tentei isso), imagino que executar uma máquina virtual em meu computador e executar meu servidor proxy na máquina virtual permitirá que aplicativos UWP se conectem ao servidor proxy, já que o servidor proxy não está escutando em um interface de loopback. Existe algum outro método/hack que funcione de forma semelhante?
Coisas que tentei que não funcionam:
- Vinculando o servidor proxy a outro endereço IP em 127.0.0.0/8, em vez de 127.0.0.1
- Adicionando um Microsoft Loopback Adapter, atribuindo-lhe um endereço IP e vinculando meu servidor proxy a esse endereço
Responder1
Na verdade, existe uma maneira, sem conceder isenção a todos os aplicativos ou executar o servidor em uma máquina separada (real ou virtual): usar truques de rede para fazer com que um servidor localhost pareça estar sendo executado em outro sistema.
Implementei uma solução usando a estrutura WinDivert.Resumindo, ele "reflete" pacotes de rede destinados a um "endereço de reflexão" especificado de volta para o localhost, de modo que um servidor em execução no localhost possa ser alcançado no endereço de reflexão. Dessa forma, os aplicativos UWP podem acessar o servidor livremente.
Deveria ser possível implementar soluções semelhantes utilizando outras tecnologias capazes de filtrar e injetar pacotes de rede.